-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Labels
C-bugCategory: Clippy is not doing the correct thingCategory: Clippy is not doing the correct thingI-false-positiveIssue: The lint was triggered on code it shouldn't haveIssue: The lint was triggered on code it shouldn't haveI-suggestion-causes-errorIssue: The suggestions provided by this Lint cause an ICE/error when appliedIssue: The suggestions provided by this Lint cause an ICE/error when applied
Description
Summary
.
Lint Name
needless_for_each
Reproducer
I tried this code:
#![feature(generators)]
// #59620
fn nested_closures() {
let mut i = 0;
[].iter().for_each(|_: &i32| {
[].iter().for_each(move |_: &i32| {
i += 1;
});
});
}
fn main() {}I saw this happen:
cargo clippy --fix -- -Aclippy::all -Wclippy::needless_for_each
warning: failed to automatically apply fixes suggested by rustc to crate `clpy`
after fixes were automatically applied the compiler reported errors within these files:
* src/main.rs
This likely indicates a bug in either rustc or cargo itself,
and we would appreciate a bug report! You're likely to see
a number of compiler warnings after this message which cargo
attempted to fix but failed. If you could open an issue at
https://github.com/rust-lang/rust/issues
quoting the full output of this command we'd be very appreciative!
Note that you may be able to make some more progress in the near-term
fixing code with the `--broken-code` flag
The following errors were reported:
error[E0282]: type annotations needed
--> src/main.rs:11:21
|
11 | for _ in [].iter() {
| ^^^^ cannot infer type
error: aborting due to previous error
For more information about this error, try `rustc --explain E0282`.
Original diagnostics will follow.
warning: unused variable: `i`
--> src/main.rs:12:13
|
12 | i += 1;
| ^
|
= help: did you mean to capture by reference instead?
= note: `#[warn(unused_variables)]` on by default
warning: function `nested_closures` is never used
--> src/main.rs:8:4
|
8 | fn nested_closures() {
| ^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: needless use of `for_each`
--> src/main.rs:10:5
|
10 | / [].iter().for_each(|_: &i32| {
11 | | [].iter().for_each(move |_: &i32| {
12 | | i += 1;
13 | | });
14 | | });
| |_______^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_for_each
= note: requested on the command line with `-W clippy::needless-for-each`
help: try
|
10 ~ for _ in [].iter() {
11 + [].iter().for_each(move |_: &i32| {
12 + i += 1;
13 + });
14 + }
|
warning: needless use of `for_each`
--> src/main.rs:11:9
|
11 | / [].iter().for_each(move |_: &i32| {
12 | | i += 1;
13 | | });
| |___________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_for_each
help: try
|
11 ~ for _ in [].iter() {
12 + i += 1;
13 + }
|
warning: `clpy` (bin "clpy") generated 4 warnings (run `cargo fix --bin "clpy"` to apply 2 suggestions)
warning: `clpy` (bin "clpy" test) generated 4 warnings (4 duplicates)
Finished dev [unoptimized + debuginfo] target(s) in 0.52s
Version
rustc 1.67.0-nightly (c5d82ed7a 2022-11-19)
binary: rustc
commit-hash: c5d82ed7a4ad94a538bb87e5016e7d5ce0bd434b
commit-date: 2022-11-19
host: x86_64-unknown-linux-gnu
release: 1.67.0-nightly
LLVM version: 15.0.4
Additional Labels
No response
Metadata
Metadata
Assignees
Labels
C-bugCategory: Clippy is not doing the correct thingCategory: Clippy is not doing the correct thingI-false-positiveIssue: The lint was triggered on code it shouldn't haveIssue: The lint was triggered on code it shouldn't haveI-suggestion-causes-errorIssue: The suggestions provided by this Lint cause an ICE/error when appliedIssue: The suggestions provided by this Lint cause an ICE/error when applied