Macro create_enum
Source macro_rules! create_enum {
(@step $name:ident, ($($variants:ident),*), ($($arms:tt)*), []) => { ... };
(@step $name:ident, ($($vars:ident),*), ($($arms:tt)*), [ $($l:literal)|+ => $v:ident, $($rest:tt)* ]) => { ... };
(@step $name:ident, ($($vars:ident),*), ($($arms:tt)*), [ $($l:literal)|+ => $v:ident ]) => { ... };
(@step $name:ident, ($($vars:ident),*), ($($arms:tt)*), [ $v:ident, $($rest:tt)* ]) => { ... };
(@step $name:ident, ($($vars:ident),*), ($($arms:tt)*), [ $v:ident ]) => { ... };
($name:ident; $($input:tt)*) => { ... };
}