diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2024-11-05 00:25:47 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2024-11-15 23:56:19 +0100 |
| commit | d1688b53f13f1d486ccb7acd79d51e54c396ea2d (patch) | |
| tree | 60c3bea9f63f274d39279a50f2d108c2ae9948af | |
| parent | 627363e8115caf1e99d1888dca8c2d83149938cd (diff) | |
| download | rust-d1688b53f13f1d486ccb7acd79d51e54c396ea2d.tar.gz rust-d1688b53f13f1d486ccb7acd79d51e54c396ea2d.zip | |
`unnecessary_map_or`: add non-comparaison tests
| -rw-r--r-- | tests/ui/unnecessary_map_or.fixed | 6 | ||||
| -rw-r--r-- | tests/ui/unnecessary_map_or.rs | 6 | ||||
| -rw-r--r-- | tests/ui/unnecessary_map_or.stderr | 14 |
3 files changed, 25 insertions, 1 deletions
diff --git a/tests/ui/unnecessary_map_or.fixed b/tests/ui/unnecessary_map_or.fixed index 2d932a70e9d..d645cd3f3c4 100644 --- a/tests/ui/unnecessary_map_or.fixed +++ b/tests/ui/unnecessary_map_or.fixed @@ -51,6 +51,12 @@ fn main() { let r: Result<i32, S> = Ok(3); let _ = r.is_ok_and(|x| x == 7); + // lint constructs that are not comparaisons as well + let func = |_x| true; + let r: Result<i32, S> = Ok(3); + let _ = r.is_ok_and(func); + let _ = Some(5).is_some_and(func); + #[derive(PartialEq)] struct S2; let r: Result<i32, S2> = Ok(4); diff --git a/tests/ui/unnecessary_map_or.rs b/tests/ui/unnecessary_map_or.rs index 4a9d69be1e9..4939d52fd43 100644 --- a/tests/ui/unnecessary_map_or.rs +++ b/tests/ui/unnecessary_map_or.rs @@ -54,6 +54,12 @@ fn main() { let r: Result<i32, S> = Ok(3); let _ = r.map_or(false, |x| x == 7); + // lint constructs that are not comparaisons as well + let func = |_x| true; + let r: Result<i32, S> = Ok(3); + let _ = r.map_or(false, func); + let _ = Some(5).map_or(false, func); + #[derive(PartialEq)] struct S2; let r: Result<i32, S2> = Ok(4); diff --git a/tests/ui/unnecessary_map_or.stderr b/tests/ui/unnecessary_map_or.stderr index 299a4e5da7a..56295594ddc 100644 --- a/tests/ui/unnecessary_map_or.stderr +++ b/tests/ui/unnecessary_map_or.stderr @@ -92,8 +92,20 @@ LL | let _ = r.map_or(false, |x| x == 7); error: this `map_or` is redundant --> tests/ui/unnecessary_map_or.rs:60:13 | +LL | let _ = r.map_or(false, func); + | ^^^^^^^^^^^^^^^^^^^^^ help: use is_ok_and instead: `r.is_ok_and(func)` + +error: this `map_or` is redundant + --> tests/ui/unnecessary_map_or.rs:61:13 + | +LL | let _ = Some(5).map_or(false, func); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use is_some_and instead: `Some(5).is_some_and(func)` + +error: this `map_or` is redundant + --> tests/ui/unnecessary_map_or.rs:66:13 + | LL | let _ = r.map_or(false, |x| x == 8); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use a standard comparison instead: `(r == Ok(8))` -error: aborting due to 13 previous errors +error: aborting due to 15 previous errors |
