#![deny(meta_variable_misuse)] macro_rules! foo { () => {}; ($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* }; //~^ ERROR variable `j` is still repeating } macro_rules! bar { () => {}; (test) => { macro_rules! nested { () => {}; ($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* }; //~^ ERROR variable `j` is still repeating } }; ( $( $i:ident = $($j:ident),+ );* ) => { $(macro_rules! $i { () => { $j }; //~ ERROR variable `j` is still repeating })* }; } fn main() { foo!(); bar!(); }