macro_rules! ghost { ( $(#![$attr_inner_name:ident $($attr_inner:tt)*])* $(#[$($attr:tt)*])* $(pub $( ($($vis_path:tt)*) )?)? struct $name:ident < $($rest:tt)+ ) => { ... }; }