translate_data

Macro translate_data 

Source
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