add more tests to unnecessary_find_map and unnecessary_filter_map

This commit is contained in:
y21 2023-07-30 16:45:04 +02:00
parent 008746cae4
commit be6a103c8c
4 changed files with 16 additions and 2 deletions

View file

@ -148,3 +148,9 @@ mod comment_1052978898 {
})
}
}
fn issue11260() {
// #11260 is about unnecessary_find_map, but the fix also kind of applies to
// unnecessary_filter_map
let _x = std::iter::once(1).filter_map(|n| (n > 1).then_some(n));
}

View file

@ -34,5 +34,11 @@ error: this `.filter_map` can be written more simply using `.map`
LL | let _ = (0..4).filter_map(|x| Some(x + 1));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 4 previous errors
error: this `.filter_map` can be written more simply using `.filter`
--> $DIR/unnecessary_filter_map.rs:155:14
|
LL | let _x = std::iter::once(1).filter_map(|n| (n > 1).then_some(n));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 5 previous errors

View file

@ -23,5 +23,7 @@ fn find_map_none_changes_item_type() -> Option<bool> {
}
fn issue11260() {
let y = Some(1);
let _x = std::iter::once(1).find_map(|n| (n > 1).then_some(n));
let _x = std::iter::once(1).find_map(|n| (n > 1).then_some(y)); // different option, so can't be just `.find()`
}

View file

@ -35,7 +35,7 @@ LL | let _ = (0..4).find_map(|x| Some(x + 1));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: this `.find_map` can be written more simply using `.find`
--> $DIR/unnecessary_find_map.rs:26:14
--> $DIR/unnecessary_find_map.rs:27:14
|
LL | let _x = std::iter::once(1).find_map(|n| (n > 1).then_some(n));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^