1 #![feature(never_type)]
3 fn loop_break_return() -> i32 {
4 let loop_value = loop { break return 0 }; // ok
7 fn loop_break_loop() -> i32 {
8 let loop_value = loop { break loop {} }; // ok
11 fn loop_break_break() -> i32 { //~ ERROR mismatched types
12 let loop_value = loop { break break };
15 fn loop_break_return_2() -> i32 { //~ ERROR mismatched types
16 let loop_value = loop { break { return; () } };
17 //~^ ERROR `return;` in a function whose return type is not `()`
22 fn get_void() -> Void {
26 fn loop_break_void() -> i32 { //~ ERROR mismatched types
27 let loop_value = loop { break get_void() };
34 fn loop_break_never() -> i32 {
35 let loop_value = loop { break get_never() }; // ok