Add lint for replacing .map().collect() with .try_for_each()
This commit is contained in:
parent
afbac8906e
commit
f0cf3bdca1
7 changed files with 118 additions and 0 deletions
16
tests/ui/map_collect_result_unit.fixed
Normal file
16
tests/ui/map_collect_result_unit.fixed
Normal 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<(), _>>>();
|
||||
}
|
||||
16
tests/ui/map_collect_result_unit.rs
Normal file
16
tests/ui/map_collect_result_unit.rs
Normal 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<(), _>>>();
|
||||
}
|
||||
16
tests/ui/map_collect_result_unit.stderr
Normal file
16
tests/ui/map_collect_result_unit.stderr
Normal 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
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue