// Ensure macro metavariables are compared with legacy hygiene | |
#![feature(rustc_attrs)] | |
//@ run-pass | |
macro_rules! make_mac { | |
( $($dollar:tt $arg:ident),+ ) => { | |
macro_rules! mac { | |
( $($dollar $arg : ident),+ ) => { | |
$( $dollar $arg )-+ | |
} | |
} | |
} | |
} | |
macro_rules! show_hygiene { | |
( $dollar:tt $arg:ident ) => { | |
make_mac!($dollar $arg, $dollar arg); | |
} | |
} | |
show_hygiene!( $arg ); | |
fn main() { | |
let x = 5; | |
let y = 3; | |
assert_eq!(2, mac!(x, y)); | |
} |