]>
Commit | Line | Data |
---|---|---|
04454e1e FG |
1 | #![crate_type = "lib"] |
2 | #![feature(label_break_value)] | |
3 | ||
4 | fn lbv_macro_test_hygiene_respected() { | |
5 | macro_rules! mac2 { | |
6 | ($val:expr) => { | |
7 | break 'a $val; //~ ERROR undeclared label `'a` [E0426] | |
8 | }; | |
9 | } | |
10 | let x: u8 = 'a: { | |
11 | 'b: { | |
12 | if true { | |
13 | mac2!(2); | |
14 | } | |
15 | }; | |
16 | 0 | |
17 | }; | |
18 | assert_eq!(x, 2); | |
19 | ||
20 | macro_rules! mac3 { | |
21 | ($val:expr) => { | |
22 | 'a: { | |
04454e1e FG |
23 | $val |
24 | } | |
25 | }; | |
26 | } | |
923072b8 | 27 | let x: u8 = mac3!('b: { |
04454e1e FG |
28 | if true { |
29 | break 'a 3; //~ ERROR undeclared label `'a` [E0426] | |
30 | } | |
31 | 0 | |
32 | }); | |
33 | assert_eq!(x, 3); | |
34 | let x: u8 = mac3!(break 'a 4); //~ ERROR undeclared label `'a` [E0426] | |
35 | assert_eq!(x, 4); | |
36 | } |