macro_rules! translate_data {
() => { ... };
(
$(#[$meta:meta])* BidiFrom < $type_name1:ty, $type_name2:ty > {
$($field1:ident = $field2:ident;)* $(.. $($d1:expr)?, $($d2:expr)?)? }
$($token:tt)*
) => { ... };
(
$(#[$meta:meta])* BidiTryFrom < $type_name1:ty, $type_name2:ty > {
$($field1:ident = $field2:ident;)* $(.. $($d1:expr)?, $($d2:expr)?)? }
$($token:tt)*
) => { ... };
(
$(#[$meta:meta])* From < $type_name1:ty > for $type_name2:ty {
$($field2:ident = $field1:ident;)* $(.. $d:expr)? } $($token:tt)*
) => { ... };
(
$(#[$meta:meta])* TryFrom < $type_name1:ty > for $type_name2:ty {
$($field2:ident = $field1:ident $(($field1_default:expr))?;)* $(..
$d:expr)? } $($token:tt)*
) => { ... };
}Expand description
Implement From/TryFrom between 2 structs.
This defined 4 constructs:
- From / TryFrom implements the equivalent trait
- BidiFrom / BidiTryFrom implements the trait in both direction