Macro pubstruct
Source macro_rules! pubstruct {
($(#[$meta:meta])*
$name: ident($(#[$fmeta:meta])* $($t: ty), *)) => { ... };
($(#[$meta:meta])*
$name: ident<$($T: ident), +>($(#[$fmeta:meta])* $($t: ty), *)) => { ... };
($(#[$meta:meta])*
$name: ident<$($L: lifetime), +>($(#[$fmeta:meta])* $($t: ty), *)) => { ... };
($(#[$meta:meta])*
$name: ident<$($L: lifetime), +, $($T: ident), +>($(#[$fmeta:meta])* $($t: ty), *)) => { ... };
($(#[$meta:meta])*
$name: ident {
$($(#[$fmeta:meta])*
$field: ident: $t: ty),* $(,)?
}) => { ... };
($(#[$meta:meta])*
$name: ident<$($T: ident),*> {
$($(#[$fmeta:meta])*
$field:ident: $t:ty),* $(,)?
}) => { ... };
($(#[$meta:meta])*
$name: ident<$($L: lifetime),*> {
$($(#[$fmeta:meta])*
$field: ident: $t: ty),* $(,)?
}) => { ... };
($(#[$meta: meta])*
$name: ident<$($L: lifetime),*, $($T: ident),*> {
$($(#[$fmeta: meta])*
$field: ident: $t: ty),* $(,)?
}) => { ... };
}