// Ensure that lifetime parameter names are modernized before we check for // duplicates. #![feature(decl_macro, rustc_attrs)] #[rustc_macro_transparency = "semitransparent"] macro m($a:lifetime) { fn g<$a, 'a>() {} //~ ERROR the name `'a` is already used for a generic parameter } #[rustc_macro_transparency = "transparent"] macro n($a:lifetime) { fn h<$a, 'a>() {} //~ ERROR the name `'a` is already used for a generic parameter } m!('a); n!('a); fn main() {}