macro_rules! rev {
(@rev [$first:tt$(, $rest:tt)*] [$($rev:tt),*]) => { ... };
(@rev [] [$($rev:tt),*]) => { ... };
($($tt:tt)+) => { ... };
}
macro_rules! rev {
(@rev [$first:tt$(, $rest:tt)*] [$($rev:tt),*]) => { ... };
(@rev [] [$($rev:tt),*]) => { ... };
($($tt:tt)+) => { ... };
}