diff options
| author | Taylor Cramer <cramertaylorj@gmail.com> | 2017-02-15 23:28:59 -0800 |
|---|---|---|
| committer | Taylor Cramer <cramertaylorj@gmail.com> | 2017-02-18 12:28:44 -0800 |
| commit | 4d65622dcd3be66ec53656c499afe7bbc8aa1ae7 (patch) | |
| tree | 9cbc5fbf98ef9ce23444f41a75e17c1f71a792c0 /src/test | |
| parent | 5205e2f8b8094a5f3d0205593820391dfe481808 (diff) | |
| download | rust-4d65622dcd3be66ec53656c499afe7bbc8aa1ae7.tar.gz rust-4d65622dcd3be66ec53656c499afe7bbc8aa1ae7.zip | |
Properly implement labeled breaks in while conditions
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/run-pass/loop-break-value.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/run-pass/loop-break-value.rs b/src/test/run-pass/loop-break-value.rs index 10ff8dbf18e..4906a8e71d7 100644 --- a/src/test/run-pass/loop-break-value.rs +++ b/src/test/run-pass/loop-break-value.rs @@ -122,4 +122,20 @@ pub fn main() { panic!(); }; assert_eq!(nested_break_value, "hello"); + + let break_from_while_cond = loop { + 'inner_loop: while break 'inner_loop { + panic!(); + } + break 123; + }; + assert_eq!(break_from_while_cond, 123); + + let break_from_while_to_outer = 'outer_loop: loop { + while break 'outer_loop 567 { + panic!("from_inner"); + } + panic!("from outer"); + }; + assert_eq!(break_from_while_to_outer, 567); } |
