macro_rules! new_table {
(
pub flags {$( $(#[$fattr:meta])* $fname:ident = $short_name:ident),*}
$(#[$attr:meta])*
pub struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt] = [$($($v:tt)|*),*];
}
) => { ... };
(
pub flags {$( $(#[$fattr:meta])* $fname:ident = $short_name:ident),*}
$(#[$attr:meta])*
pub($($vis:tt)+) struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt] = [$($($v:tt)|*),*];
}
) => { ... };
(
pub flags {$( $(#[$fattr:meta])* $fname:ident = $short_name:ident),*}
$(#[$attr:meta])*
struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt] = [$($($v:tt)|*),*];
}
) => { ... };
(
pub($($vis:tt)+) flags {$( $(#[$fattr:meta])* $fname:ident = $short_name:ident),*}
$(#[$attr:meta])*
pub struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt] = [$($($v:tt)|*),*];
}
) => { ... };
(
pub($($fvis:tt)+) flags {$( $(#[$fattr:meta])* $fname:ident = $short_name:ident),*}
$(#[$attr:meta])*
pub($($tvis:tt)+) struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt] = [$($($v:tt)|*),*];
}
) => { ... };
(
pub($($vis:tt)+) flags {$( $(#[$fattr:meta])* $fname:ident = $short_name:ident),*}
$(#[$attr:meta])*
struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt] = [$($($v:tt)|*),*];
}
) => { ... };
(
flags {$( $(#[$fattr:meta])* $fname:ident = $short_name:ident),*}
$(#[$attr:meta])*
pub struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt] = [$($($v:tt)|*),*];
}
) => { ... };
(
flags {$( $(#[$fattr:meta])* $fname:ident = $short_name:ident),*}
$(#[$attr:meta])*
pub($($vis:tt)+) struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt] = [$($($v:tt)|*),*];
}
) => { ... };
(
flags {$( $(#[$fattr:meta])* $fname:ident = $short_name:ident),*}
$(#[$attr:meta])*
struct $name:ident {
static $_f:ident: [$tp:ty;$size:tt] = [$($($v:tt)|*),*];
}
) => { ... };
}