diff options
Diffstat (limited to 'tests/ui/reachable/expr_loop.rs')
-rw-r--r-- | tests/ui/reachable/expr_loop.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/ui/reachable/expr_loop.rs b/tests/ui/reachable/expr_loop.rs new file mode 100644 index 000000000..7eab6f7bb --- /dev/null +++ b/tests/ui/reachable/expr_loop.rs @@ -0,0 +1,36 @@ +#![allow(unused_variables)] +#![allow(unused_assignments)] +#![allow(dead_code)] +#![deny(unreachable_code)] + +fn a() { + loop { return; } + println!("I am dead."); + //~^ ERROR unreachable statement +} + +fn b() { + loop { + break; + } + println!("I am not dead."); +} + +fn c() { + loop { return; } + println!("I am dead."); + //~^ ERROR unreachable statement +} + +fn d() { + 'outer: loop { loop { break 'outer; } } + println!("I am not dead."); +} + +fn e() { + loop { 'middle: loop { loop { break 'middle; } } } + println!("I am dead."); + //~^ ERROR unreachable statement +} + +fn main() { } |