macro_rules! composite_error {
($name:ident { $($variant:ident: $error:ty,)* }) => { ... };
(#[derive($($derives:path),*)] $name:ident { $($variant:ident: $error:ty,)* }) => { ... };
}macro_rules! composite_error {
($name:ident { $($variant:ident: $error:ty,)* }) => { ... };
(#[derive($($derives:path),*)] $name:ident { $($variant:ident: $error:ty,)* }) => { ... };
}