macro_rules! nested { ($($i:ident in $iter:expr)=>* => $body:block ) => { ... }; (@loop $body:block, $i:ident in $iter:expr) => { ... }; (@loop $body:block, $i:ident in $iter:expr) => { ... }; (@loop $body:block, $i:ident in $iter:expr, $($tail:tt)*) => { ... }; }