mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-12-04 18:40:18 +00:00
84f89f30eb
Updates `needless_collect` to lint for collecting into a method or function argument thats taking an `IntoIterator` (for example `extend`). Every `Iterator` trivially implements `IntoIterator` and colleting it only causes an unnecessary allocation.
118 lines
4.8 KiB
Text
118 lines
4.8 KiB
Text
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:11:29
|
|
|
|
|
LL | let len = sample.iter().collect::<Vec<_>>().len();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `count()`
|
|
|
|
|
= note: `-D clippy::needless-collect` implied by `-D warnings`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:12:22
|
|
|
|
|
LL | if sample.iter().collect::<Vec<_>>().is_empty() {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `next().is_none()`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:15:28
|
|
|
|
|
LL | sample.iter().cloned().collect::<Vec<_>>().contains(&1);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `any(|x| x == 1)`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:20:35
|
|
|
|
|
LL | sample.iter().map(|x| (x, x)).collect::<HashMap<_, _>>().is_empty();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `next().is_none()`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:21:35
|
|
|
|
|
LL | sample.iter().map(|x| (x, x)).collect::<BTreeMap<_, _>>().is_empty();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `next().is_none()`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:28:19
|
|
|
|
|
LL | sample.iter().collect::<LinkedList<_>>().len();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `count()`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:29:19
|
|
|
|
|
LL | sample.iter().collect::<LinkedList<_>>().is_empty();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `next().is_none()`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:30:28
|
|
|
|
|
LL | sample.iter().cloned().collect::<LinkedList<_>>().contains(&1);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `any(|x| x == 1)`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:31:19
|
|
|
|
|
LL | sample.iter().collect::<LinkedList<_>>().contains(&&1);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `any(|x| x == &1)`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:34:19
|
|
|
|
|
LL | sample.iter().collect::<BinaryHeap<_>>().len();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `count()`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:35:19
|
|
|
|
|
LL | sample.iter().collect::<BinaryHeap<_>>().is_empty();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `next().is_none()`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:40:27
|
|
|
|
|
LL | let _ = sample.iter().collect::<HashSet<_>>().is_empty();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `next().is_none()`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:41:27
|
|
|
|
|
LL | let _ = sample.iter().collect::<HashSet<_>>().contains(&&0);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `any(|x| x == &0)`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:63:27
|
|
|
|
|
LL | let _ = sample.iter().collect::<VecWrapper<_>>().is_empty();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `next().is_none()`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:64:27
|
|
|
|
|
LL | let _ = sample.iter().collect::<VecWrapper<_>>().contains(&&0);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `any(|x| x == &0)`
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:68:40
|
|
|
|
|
LL | Vec::<u8>::new().extend((0..10).collect::<Vec<_>>());
|
|
| ^^^^^^^^^^^^^^^^^^^^ help: remove this call
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:69:20
|
|
|
|
|
LL | foo((0..10).collect::<Vec<_>>());
|
|
| ^^^^^^^^^^^^^^^^^^^^ help: remove this call
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:70:49
|
|
|
|
|
LL | bar((0..10).collect::<Vec<_>>(), (0..10).collect::<Vec<_>>());
|
|
| ^^^^^^^^^^^^^^^^^^^^ help: remove this call
|
|
|
|
error: avoid using `collect()` when not needed
|
|
--> $DIR/needless_collect.rs:71:37
|
|
|
|
|
LL | baz((0..10), (), ('a'..='z').collect::<Vec<_>>())
|
|
| ^^^^^^^^^^^^^^^^^^^^ help: remove this call
|
|
|
|
error: aborting due to 19 previous errors
|
|
|