Add lint for replacing .map().collect() with .try_for_each()

This commit is contained in:
HMPerson1 2020-10-25 21:20:57 -04:00
parent afbac8906e
commit f0cf3bdca1
No known key found for this signature in database
GPG key ID: 1FB477DDD27821CE
7 changed files with 118 additions and 0 deletions

View file

@ -0,0 +1,16 @@
// run-rustfix
#![warn(clippy::map_collect_result_unit)]
fn main() {
{
let _ = (0..3).try_for_each(|t| Err(t + 1));
let _: Result<(), _> = (0..3).try_for_each(|t| Err(t + 1));
let _ = (0..3).try_for_each(|t| Err(t + 1));
}
}
fn _ignore() {
let _ = (0..3).map(|t| Err(t + 1)).collect::<Result<Vec<i32>, _>>();
let _ = (0..3).map(|t| Err(t + 1)).collect::<Vec<Result<(), _>>>();
}

View file

@ -0,0 +1,16 @@
// run-rustfix
#![warn(clippy::map_collect_result_unit)]
fn main() {
{
let _ = (0..3).map(|t| Err(t + 1)).collect::<Result<(), _>>();
let _: Result<(), _> = (0..3).map(|t| Err(t + 1)).collect();
let _ = (0..3).try_for_each(|t| Err(t + 1));
}
}
fn _ignore() {
let _ = (0..3).map(|t| Err(t + 1)).collect::<Result<Vec<i32>, _>>();
let _ = (0..3).map(|t| Err(t + 1)).collect::<Vec<Result<(), _>>>();
}

View file

@ -0,0 +1,16 @@
error: `.map().collect()` can be replaced with `.try_for_each()`
--> $DIR/map_collect_result_unit.rs:6:17
|
LL | let _ = (0..3).map(|t| Err(t + 1)).collect::<Result<(), _>>();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `(0..3).try_for_each(|t| Err(t + 1))`
|
= note: `-D clippy::map-collect-result-unit` implied by `-D warnings`
error: `.map().collect()` can be replaced with `.try_for_each()`
--> $DIR/map_collect_result_unit.rs:7:32
|
LL | let _: Result<(), _> = (0..3).map(|t| Err(t + 1)).collect();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `(0..3).try_for_each(|t| Err(t + 1))`
error: aborting due to 2 previous errors