Skip to content

Commit 3a3773f

Browse files
Add test for option_map_or_err_ok lint
1 parent ea73317 commit 3a3773f

File tree

4 files changed

+35
-1
lines changed

4 files changed

+35
-1
lines changed

tests/ui/manual_ok_or.stderr

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,15 @@ error: this pattern reimplements `Option::ok_or`
1313
LL | foo.map_or(Err("error"), Ok);
1414
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `foo.ok_or("error")`
1515

16+
error: called `map_or(Err(_), Ok)` on an `Option` value
17+
--> $DIR/manual_ok_or.rs:14:5
18+
|
19+
LL | foo.map_or(Err("error"), Ok);
20+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try using `ok_or` instead: `foo.ok_or("error")`
21+
|
22+
= note: `-D clippy::option-map-or-err-ok` implied by `-D warnings`
23+
= help: to override `-D warnings` add `#[allow(clippy::option_map_or_err_ok)]`
24+
1625
error: this pattern reimplements `Option::ok_or`
1726
--> $DIR/manual_ok_or.rs:17:5
1827
|
@@ -38,5 +47,5 @@ LL + "{}{}{}{}{}{}{}",
3847
LL ~ "Alice", "Bob", "Sarah", "Marc", "Sandra", "Eric", "Jenifer"));
3948
|
4049

41-
error: aborting due to 4 previous errors
50+
error: aborting due to 5 previous errors
4251

tests/ui/option_map_or_err_ok.fixed

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#![warn(clippy::option_map_or_err_ok)]
2+
3+
fn main() {
4+
let x = Some("a");
5+
let _ = x.ok_or("a");
6+
//~^ ERROR: called `map_or(Err(_), Ok)` on an `Option` value
7+
}

tests/ui/option_map_or_err_ok.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#![warn(clippy::option_map_or_err_ok)]
2+
3+
fn main() {
4+
let x = Some("a");
5+
let _ = x.map_or(Err("a"), Ok);
6+
//~^ ERROR: called `map_or(Err(_), Ok)` on an `Option` value
7+
}

tests/ui/option_map_or_err_ok.stderr

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
error: called `map_or(Err(_), Ok)` on an `Option` value
2+
--> $DIR/option_map_or_err_ok.rs:5:13
3+
|
4+
LL | let _ = x.map_or(Err("a"), Ok);
5+
| ^^^^^^^^^^^^^^^^^^^^^^ help: try using `ok_or` instead: `x.ok_or("a")`
6+
|
7+
= note: `-D clippy::option-map-or-err-ok` implied by `-D warnings`
8+
= help: to override `-D warnings` add `#[allow(clippy::option_map_or_err_ok)]`
9+
10+
error: aborting due to previous error
11+

0 commit comments

Comments
 (0)