-
-
-#![allow(single_match, unused_assignments, unused_variables)]
+#![allow(
+ clippy::single_match,
+ unused_assignments,
+ unused_variables,
+ clippy::while_immutable_condition
+)]
fn test1() {
let mut x = 0;
- loop { // never_loop
+ loop {
+ // clippy::never_loop
x += 1;
if x == 1 {
- return
+ return;
}
break;
}
loop {
x += 1;
if x == 1 {
- break
+ break;
}
}
}
fn test3() {
let mut x = 0;
- loop { // never loops
+ loop {
+ // never loops
x += 1;
- break
+ break;
}
}
fn test5() {
let i = 0;
- loop { // never loops
- while i == 0 { // never loops
- break
+ loop {
+ // never loops
+ while i == 0 {
+ // never loops
+ break;
}
- return
- }
+ return;
+ }
}
fn test6() {
let mut x = 0;
'outer: loop {
x += 1;
- loop { // never loops
- if x == 5 { break }
- continue 'outer
- }
- return
- }
+ loop {
+ // never loops
+ if x == 5 {
+ break;
+ }
+ continue 'outer;
+ }
+ return;
+ }
}
fn test7() {
1 => continue,
_ => (),
}
- return
+ return;
}
}
fn test9() {
let x = Some(1);
- while let Some(y) = x { // never loops
- return
+ while let Some(y) = x {
+ // never loops
+ return;
}
}
fn test10() {
- for x in 0..10 { // never loops
+ for x in 0..10 {
+ // never loops
match x {
1 => break,
_ => return,
return match f() {
1 => continue,
_ => (),
- }
+ };
}
}
pub fn test13() {
let mut a = true;
- loop { // infinite loop
+ loop {
+ // infinite loop
while a {
if true {
a = false;
pub fn test14() {
let mut a = true;
- 'outer: while a { // never loops
+ 'outer: while a {
+ // never loops
while a {
if a {
a = false;
- continue
+ continue;
}
}
break 'outer;
}
}
+// Issue #4058: `continue` in `break` expression
+pub fn test16() {
+ let mut n = 1;
+ loop {
+ break if n != 5 {
+ n += 1;
+ continue;
+ };
+ }
+}
+
fn main() {
test1();
test2();
test13();
test14();
}
-