// 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)); }