v4 / vlib / v / checker / tests / labelled_break_continue.vv
35 lines · 35 sloc · 451 bytes · 0c8ce3bcb9fd4a2e5bd5f991a5a07da976d780d7
Raw
1fn main() {
2 mut i := 4
3 // check branching to a later loop
4 L1: for {
5 i++
6 for {
7 if i < 7 {
8 continue L2
9 } else {
10 break L2
11 }
12 }
13 }
14 // check branching to an earlier loop
15 L2: for e in [1, 2, 3, 4] {
16 i = e
17 for {
18 if i < 3 {
19 continue L1
20 } else {
21 break L1
22 }
23 }
24 }
25 // check nested loops (not supported ATM)
26 L3: for ; true; i++ {
27 L4: for {
28 if i < 17 {
29 continue L3
30 } else {
31 break L3
32 }
33 }
34 }
35}
36