]> git.proxmox.com Git - rustc.git/blob - src/test/ui/for-loop-while/label_break_value_invalid.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / src / test / ui / for-loop-while / label_break_value_invalid.rs
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: {
23 $val
24 }
25 };
26 }
27 let x: u8 = mac3!('b: {
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 }