| // Ensure that we reject code when a nonlocal exit (`break`, | |
| // `continue`) causes us to pop over a needed assignment. | |
| pub fn main() { | |
| foo1(); | |
| foo2(); | |
| } | |
| pub fn foo1() { | |
| let x: i32; | |
| loop { x = break; } | |
| println!("{}", x); //~ ERROR E0381 | |
| } | |
| pub fn foo2() { | |
| let x: i32; | |
| for _ in 0..10 { x = continue; } | |
| println!("{}", x); //~ ERROR E0381 | |
| } |