macro_rules! struct {
(
$(#[$($struct_doc:meta),*])*
$struct_vis:vis struct $struct_identifier:ident
$(<
$($struct_generics:tt),*
>)?
$(where
$($where_alias:ty : $($where_boundary:tt)::* $(<$($($where_boundary_generics:tt)::*),*>)?),*
)? $(,)?
{
$(
$(#[$($field_doc:meta),*])*
$field_vis:vis $field_identifier:ident : $field_type:ty
),* $(,)?
}
) => { ... };
}