#![crate_type = "lib"] | |
fn lbv_macro_test_hygiene_respected() { | |
macro_rules! mac2 { | |
($val:expr) => { | |
break 'a $val; //~ ERROR undeclared label `'a` [E0426] | |
}; | |
} | |
let x: u8 = 'a: { | |
'b: { | |
if true { | |
mac2!(2); | |
} | |
}; | |
0 | |
}; | |
assert_eq!(x, 2); | |
macro_rules! mac3 { | |
($val:expr) => { | |
'a: { | |
$val | |
} | |
}; | |
} | |
let x: u8 = mac3!('b: { | |
if true { | |
break 'a 3; //~ ERROR undeclared label `'a` [E0426] | |
} | |
0 | |
}); | |
assert_eq!(x, 3); | |
let x: u8 = mac3!(break 'a 4); //~ ERROR undeclared label `'a` [E0426] | |
assert_eq!(x, 4); | |
} |