rust/tests/ui/hygiene/duplicate_lifetimes.rs

20 lines
475 B
Rust

// 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() {}