1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#[macro_export] macro_rules! strct { ($name:ident $($fmt:literal)* $(#$meta:meta)*) => { #[derive(restruct_derive::Struct)] $( #[fmt = $fmt] )* $( #[$meta] )* struct $name; }; ($($fmt:literal)*) => { strct!(Foo $($fmt)*); }; }