macro_rules! merge_tables {
(
$(#[$attr:meta])*
pub struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt]
= $first:ty { $($flag:ty),* }
$(
+ $next:ty { $($nflag:ty),* }
)*;
}
) => { ... };
(
$(#[$attr:meta])*
pub($($vis:tt)+) struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt]
= $first:ty { $($flag:ty),* }
$(
+ $next:ty { $($nflag:ty),* }
)*;
}
) => { ... };
(
$(#[$attr:meta])*
struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt]
= $first:ty { $($flag:ty),* }
$(
+ $next:ty { $($nflag:ty),* }
)*;
}
) => { ... };
}