You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test.rs:13:3: 13:4 error: invoking non-Rust fn in fn without #[fixed_stack_segment] [-D cstack (default)]
test.rs:13 a();
^
error: aborting due to previous error
Note that I'm not sure the attribute is being applied correctly, in which case the lint is correctly identifying the issue and the bug is elsewhere... I don't know how to verify this though.
The text was updated successfully, but these errors were encountered:
feat(fix): Do not lint if the target code is inside a loop
closerust-lang#8753
we consider the following code.
```rust
fn main() {
let vec = vec![1];
let w: Vec<usize> = vec.iter().map(|i| i * i).collect(); // <- once.
for i in 0..2 {
let _ = w.contains(&i);
}
}
```
and the clippy will issue the following warning.
```rust
warning: avoid using `collect()` when not needed
--> src/main.rs:3:51
|
3 | let w: Vec<usize> = vec.iter().map(|i| i * i).collect();
| ^^^^^^^
...
6 | let _ = w.contains(&i);
| -------------- the iterator could be used here instead
|
= note: `#[warn(clippy::needless_collect)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_collect
help: check if the original Iterator contains an element instead of collecting then checking
|
3 ~
4 |
5 | for i in 0..2 {
6 ~ let _ = vec.iter().map(|i| i * i).any(|x| x == i);
```
Rewrite the code as indicated.
```rust
fn main() {
let vec = vec![1];
for i in 0..2 {
let _ = vec.iter().map(|i| i * i).any(|x| x == i); // <- execute `map` every loop.
}
}
```
this code is valid in the compiler, but, it is different from the code before the rewrite.
So, we should not lint, If `collect` is outside of a loop.
Thank you in advance.
---
changelog: Do not lint if the target code is inside a loop in `needless_collect`
rustc version:
rustc 0.8-pre (05f1bbb 2013-08-25 12:26:16 -0700)
Code:
Error:
Note that I'm not sure the attribute is being applied correctly, in which case the lint is correctly identifying the issue and the bug is elsewhere... I don't know how to verify this though.
The text was updated successfully, but these errors were encountered: