diff options
| author | dswij <dswijj@gmail.com> | 2021-08-26 18:20:13 +0800 |
|---|---|---|
| committer | dswij <dswijj@gmail.com> | 2021-09-08 10:41:37 +0800 |
| commit | 290fb8de6637262c79bda37723bf784d6341056b (patch) | |
| tree | a7f3a6f8967aae8640b64bf2a1e8411afb9e664d | |
| parent | b7c25e1679e8741ec52294765bb943c298ecefd7 (diff) | |
| download | rust-290fb8de6637262c79bda37723bf784d6341056b.tar.gz rust-290fb8de6637262c79bda37723bf784d6341056b.zip | |
Add additional test for broken loop in `mut_range_bound`
| -rw-r--r-- | tests/ui/mut_range_bound.rs | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/tests/ui/mut_range_bound.rs b/tests/ui/mut_range_bound.rs index 1348dd2a3d8..e1ae1ef9282 100644 --- a/tests/ui/mut_range_bound.rs +++ b/tests/ui/mut_range_bound.rs @@ -1,14 +1,6 @@ #![allow(unused)] -fn main() { - mut_range_bound_upper(); - mut_range_bound_lower(); - mut_range_bound_both(); - mut_range_bound_no_mutation(); - immut_range_bound(); - mut_borrow_range_bound(); - immut_borrow_range_bound(); -} +fn main() {} fn mut_range_bound_upper() { let mut m = 4; @@ -61,3 +53,32 @@ fn immut_range_bound() { continue; } // no warning } + +fn mut_range_bound_break() { + let mut m = 4; + for i in 0..m { + if m == 4 { + m = 5; // no warning because of immediate break + break; + } + } +} + +fn mut_range_bound_no_immediate_break() { + let mut m = 4; + for i in 0..m { + m = 2; // warning because it is not immediately followed by break + if m == 4 { + break; + } + } + + let mut n = 3; + for i in n..10 { + if n == 4 { + n = 1; // FIXME: warning because is is not immediately followed by break + let _ = 2; + break; + } + } +} |
