| //@no-rustfix: overlapping suggestions | |
| #![warn(clippy::needless_for_each)] | |
| #![allow(clippy::needless_return)] | |
| fn main() { | |
| let v: Vec<i32> = Vec::new(); | |
| // This is unfixable because the closure includes `return`. | |
| v.iter().for_each(|v| { | |
| //~^ needless_for_each | |
| if *v == 10 { | |
| return; | |
| } else { | |
| println!("{v}"); | |
| } | |
| }); | |
| } | |
| fn issue9912() { | |
| let mut i = 0; | |
| // Changing this to a `for` loop would break type inference | |
| [].iter().for_each(move |_: &i32| { | |
| //~^ needless_for_each | |
| i += 1; | |
| }); | |
| // Changing this would actually be okay, but we still suggest `MaybeIncorrect`ly | |
| [1i32].iter().for_each(move |_: &i32| { | |
| //~^ needless_for_each | |
| i += 1; | |
| }); | |
| } |