Skip to content

Commit 21b88ce

Browse files
committed
Implement the lint for expect
1 parent 0b1bb5f commit 21b88ce

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

clippy_lints/src/methods/mod.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3658,10 +3658,15 @@ impl Methods {
36583658
case_sensitive_file_extension_comparisons::check(cx, expr, span, recv, arg);
36593659
}
36603660
},
3661-
("expect", [_]) => match method_call(recv) {
3662-
Some(("ok", recv, [], _, _)) => ok_expect::check(cx, expr, recv),
3663-
Some(("err", recv, [], err_span, _)) => err_expect::check(cx, expr, recv, span, err_span, &self.msrv),
3664-
_ => expect_used::check(cx, expr, recv, false, self.allow_expect_in_tests),
3661+
("expect", [_]) => {
3662+
match method_call(recv) {
3663+
Some(("ok", recv, [], _, _)) => ok_expect::check(cx, expr, recv),
3664+
Some(("err", recv, [], err_span, _)) => err_expect::check(cx, expr, recv, span, err_span, &self.msrv),
3665+
_ => expect_used::check(cx, expr, recv, false, self.allow_expect_in_tests),
3666+
}
3667+
if let ExprKind::Call(recv, _) = recv.kind {
3668+
unnecessary_literal_unwrap::check(cx, expr, recv, name);
3669+
}
36653670
},
36663671
("expect_err", [_]) => expect_used::check(cx, expr, recv, true, self.allow_expect_in_tests),
36673672
("extend", [arg]) => {

tests/ui/unnecessary_literal_unwrap.stderr

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,13 @@ LL | let val = Some(1).unwrap();
77
= help:
88
= note: `-D clippy::unnecessary-literal-unwrap` implied by `-D warnings`
99

10-
error: aborting due to previous error
10+
error: used `expect()` on `Some` value
11+
--> $DIR/unnecessary_literal_unwrap.rs:5:15
12+
|
13+
LL | let val = Some(1).expect("this never happens");
14+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15+
|
16+
= help:
17+
18+
error: aborting due to 2 previous errors
1119

0 commit comments

Comments
 (0)