]> git.proxmox.com Git - rustc.git/blob - tests/ui/for-loop-while/label_break_value_invalid.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / tests / ui / for-loop-while / label_break_value_invalid.rs
1 #![crate_type = "lib"]
2
3 fn lbv_macro_test_hygiene_respected() {
4 macro_rules! mac2 {
5 ($val:expr) => {
6 break 'a $val; //~ ERROR undeclared label `'a` [E0426]
7 };
8 }
9 let x: u8 = 'a: {
10 'b: {
11 if true {
12 mac2!(2);
13 }
14 };
15 0
16 };
17 assert_eq!(x, 2);
18
19 macro_rules! mac3 {
20 ($val:expr) => {
21 'a: {
22 $val
23 }
24 };
25 }
26 let x: u8 = mac3!('b: {
27 if true {
28 break 'a 3; //~ ERROR undeclared label `'a` [E0426]
29 }
30 0
31 });
32 assert_eq!(x, 3);
33 let x: u8 = mac3!(break 'a 4); //~ ERROR undeclared label `'a` [E0426]
34 assert_eq!(x, 4);
35 }