macro_rules! register_fields {
(@root $(#[$attr_struct:meta])* $name:ident { $($input:tt)* } ) => { ... };
(@munch
(
$(#[$attr_end:meta])*
($offset:expr => @END),
)
-> {struct $(#[$attr_struct:meta])* $name:ident $(
$(#[$attr:meta])*
($id:ident: $ty:ty)
)*}
) => { ... };
(@munch
(
$(#[$attr:meta])*
($offset_start:expr => $field:ident: $ty:ty),
$($after:tt)*
)
-> {$($output:tt)*}
) => { ... };
(@munch
(
$(#[$attr:meta])*
($offset_start:expr => $padding:ident),
$(#[$attr_next:meta])*
($offset_end:expr => $($next:tt)*),
$($after:tt)*
)
-> {$($output:tt)*}
) => { ... };
}