Skip to content

Commit 6cf138e

Browse files
committed
Add more tests
1 parent 6e4dc93 commit 6cf138e

5 files changed

+268
-16
lines changed

tests/ui/unnecessary_literal_unwrap.fixed

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
//run-rustfix
1+
//@run-rustfix
22
#![warn(clippy::unnecessary_literal_unwrap)]
3-
#![allow(clippy::unnecessary_lazy_evaluations)]
43
#![allow(unreachable_code)]
4+
#![allow(clippy::unnecessary_lazy_evaluations)]
55

66
fn unwrap_option_some() {
77
let _val = 1;

tests/ui/unnecessary_literal_unwrap.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
//run-rustfix
1+
//@run-rustfix
22
#![warn(clippy::unnecessary_literal_unwrap)]
3-
#![allow(clippy::unnecessary_lazy_evaluations)]
43
#![allow(unreachable_code)]
4+
#![allow(clippy::unnecessary_lazy_evaluations)]
55

66
fn unwrap_option_some() {
77
let _val = Some(1).unwrap();
@@ -30,13 +30,13 @@ fn unwrap_result_err() {
3030
fn unwrap_methods_option() {
3131
let _val = Some(1).unwrap_or(2);
3232
let _val = Some(1).unwrap_or_default();
33-
let _val = Some(1).unwrap_or_else(|| _val);
33+
let _val = Some(1).unwrap_or_else(|| 2);
3434
}
3535

3636
fn unwrap_methods_result() {
3737
let _val = Ok::<usize, ()>(1).unwrap_or(2);
3838
let _val = Ok::<usize, ()>(1).unwrap_or_default();
39-
let _val = Ok::<usize, ()>(1).unwrap_or_else(|()| _val);
39+
let _val = Ok::<usize, ()>(1).unwrap_or_else(|_| 2);
4040
}
4141

4242
fn main() {

tests/ui/unnecessary_literal_unwrap.stderr

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -159,12 +159,12 @@ LL + let _val = 1;
159159
error: used `unwrap_or_else()` on `Some` value
160160
--> $DIR/unnecessary_literal_unwrap.rs:33:16
161161
|
162-
LL | let _val = Some(1).unwrap_or_else(|| _val);
163-
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
162+
LL | let _val = Some(1).unwrap_or_else(|| 2);
163+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
164164
|
165165
help: remove the `Some` and `unwrap_or_else()`
166166
|
167-
LL - let _val = Some(1).unwrap_or_else(|| _val);
167+
LL - let _val = Some(1).unwrap_or_else(|| 2);
168168
LL + let _val = 1;
169169
|
170170

@@ -195,12 +195,12 @@ LL + let _val = 1;
195195
error: used `unwrap_or_else()` on `Ok` value
196196
--> $DIR/unnecessary_literal_unwrap.rs:39:16
197197
|
198-
LL | let _val = Ok::<usize, ()>(1).unwrap_or_else(|()| _val);
199-
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
198+
LL | let _val = Ok::<usize, ()>(1).unwrap_or_else(|_| 2);
199+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
200200
|
201201
help: remove the `Ok` and `unwrap_or_else()`
202202
|
203-
LL - let _val = Ok::<usize, ()>(1).unwrap_or_else(|()| _val);
203+
LL - let _val = Ok::<usize, ()>(1).unwrap_or_else(|_| 2);
204204
LL + let _val = 1;
205205
|
206206

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,54 @@
11
#![warn(clippy::unnecessary_literal_unwrap)]
2+
#![allow(clippy::unnecessary_lazy_evaluations)]
3+
#![allow(unreachable_code)]
24

3-
fn main() {
5+
fn unwrap_option_some() {
46
let val = Some(1);
57
let _val2 = val.unwrap();
8+
let _val2 = val.expect("this never happens");
9+
}
10+
11+
fn unwrap_option_none() {
12+
let val = None::<usize>;
13+
val.unwrap();
14+
val.expect("this always happens");
15+
}
16+
17+
fn unwrap_result_ok() {
18+
let val = Ok::<usize, ()>(1);
19+
let _val2 = val.unwrap();
20+
let _val2 = val.expect("this never happens");
21+
val.unwrap_err();
22+
val.expect_err("this always happens");
23+
}
24+
25+
fn unwrap_result_err() {
26+
let val = Err::<(), usize>(1);
27+
let _val2 = val.unwrap_err();
28+
let _val2 = val.expect_err("this never happens");
29+
val.unwrap();
30+
val.expect("this always happens");
31+
}
32+
33+
fn unwrap_methods_option() {
34+
let val = Some(1);
35+
let _val2 = val.unwrap_or(2);
36+
let _val2 = val.unwrap_or_default();
37+
let _val2 = val.unwrap_or_else(|| 2);
38+
}
39+
40+
fn unwrap_methods_result() {
41+
let val = Ok::<usize, ()>(1);
42+
let _val2 = val.unwrap_or(2);
43+
let _val2 = val.unwrap_or_default();
44+
let _val2 = val.unwrap_or_else(|_| 2);
45+
}
46+
47+
fn main() {
48+
unwrap_option_some();
49+
unwrap_option_none();
50+
unwrap_result_ok();
51+
unwrap_result_err();
52+
unwrap_methods_option();
53+
unwrap_methods_result();
654
}
Lines changed: 207 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,219 @@
11
error: used `unwrap()` on `Some` value
2-
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:5:17
2+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:7:17
33
|
44
LL | let _val2 = val.unwrap();
55
| ^^^^^^^^^^^^
66
|
77
help: remove the `Some` and `unwrap()`
8-
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:4:15
8+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:6:15
99
|
1010
LL | let val = Some(1);
1111
| ^^^^^^^
1212
= note: `-D clippy::unnecessary-literal-unwrap` implied by `-D warnings`
1313

14-
error: aborting due to previous error
14+
error: used `expect()` on `Some` value
15+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:8:17
16+
|
17+
LL | let _val2 = val.expect("this never happens");
18+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19+
|
20+
help: remove the `Some` and `expect()`
21+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:6:15
22+
|
23+
LL | let val = Some(1);
24+
| ^^^^^^^
25+
26+
error: used `unwrap()` on `None` value
27+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:13:5
28+
|
29+
LL | val.unwrap();
30+
| ^^^^^^^^^^^^
31+
|
32+
help: remove the `None` and `unwrap()`
33+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:12:15
34+
|
35+
LL | let val = None::<usize>;
36+
| ^^^^^^^^^^^^^
37+
38+
error: used `expect()` on `None` value
39+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:14:5
40+
|
41+
LL | val.expect("this always happens");
42+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43+
|
44+
help: remove the `None` and `expect()`
45+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:12:15
46+
|
47+
LL | let val = None::<usize>;
48+
| ^^^^^^^^^^^^^
49+
50+
error: used `unwrap()` on `Ok` value
51+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:19:17
52+
|
53+
LL | let _val2 = val.unwrap();
54+
| ^^^^^^^^^^^^
55+
|
56+
help: remove the `Ok` and `unwrap()`
57+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:18:15
58+
|
59+
LL | let val = Ok::<usize, ()>(1);
60+
| ^^^^^^^^^^^^^^^^^^
61+
62+
error: used `expect()` on `Ok` value
63+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:20:17
64+
|
65+
LL | let _val2 = val.expect("this never happens");
66+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
67+
|
68+
help: remove the `Ok` and `expect()`
69+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:18:15
70+
|
71+
LL | let val = Ok::<usize, ()>(1);
72+
| ^^^^^^^^^^^^^^^^^^
73+
74+
error: used `unwrap_err()` on `Ok` value
75+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:21:5
76+
|
77+
LL | val.unwrap_err();
78+
| ^^^^^^^^^^^^^^^^
79+
|
80+
help: remove the `Ok` and `unwrap_err()`
81+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:18:15
82+
|
83+
LL | let val = Ok::<usize, ()>(1);
84+
| ^^^^^^^^^^^^^^^^^^
85+
86+
error: used `expect_err()` on `Ok` value
87+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:22:5
88+
|
89+
LL | val.expect_err("this always happens");
90+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
91+
|
92+
help: remove the `Ok` and `expect_err()`
93+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:18:15
94+
|
95+
LL | let val = Ok::<usize, ()>(1);
96+
| ^^^^^^^^^^^^^^^^^^
97+
98+
error: used `unwrap_err()` on `Err` value
99+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:27:17
100+
|
101+
LL | let _val2 = val.unwrap_err();
102+
| ^^^^^^^^^^^^^^^^
103+
|
104+
help: remove the `Err` and `unwrap_err()`
105+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:26:15
106+
|
107+
LL | let val = Err::<(), usize>(1);
108+
| ^^^^^^^^^^^^^^^^^^^
109+
110+
error: used `expect_err()` on `Err` value
111+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:28:17
112+
|
113+
LL | let _val2 = val.expect_err("this never happens");
114+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
115+
|
116+
help: remove the `Err` and `expect_err()`
117+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:26:15
118+
|
119+
LL | let val = Err::<(), usize>(1);
120+
| ^^^^^^^^^^^^^^^^^^^
121+
122+
error: used `unwrap()` on `Err` value
123+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:29:5
124+
|
125+
LL | val.unwrap();
126+
| ^^^^^^^^^^^^
127+
|
128+
help: remove the `Err` and `unwrap()`
129+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:26:15
130+
|
131+
LL | let val = Err::<(), usize>(1);
132+
| ^^^^^^^^^^^^^^^^^^^
133+
134+
error: used `expect()` on `Err` value
135+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:30:5
136+
|
137+
LL | val.expect("this always happens");
138+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
139+
|
140+
help: remove the `Err` and `expect()`
141+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:26:15
142+
|
143+
LL | let val = Err::<(), usize>(1);
144+
| ^^^^^^^^^^^^^^^^^^^
145+
146+
error: used `unwrap_or()` on `Some` value
147+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:35:17
148+
|
149+
LL | let _val2 = val.unwrap_or(2);
150+
| ^^^^^^^^^^^^^^^^
151+
|
152+
help: remove the `Some` and `unwrap_or()`
153+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:34:15
154+
|
155+
LL | let val = Some(1);
156+
| ^^^^^^^
157+
158+
error: used `unwrap_or_default()` on `Some` value
159+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:36:17
160+
|
161+
LL | let _val2 = val.unwrap_or_default();
162+
| ^^^^^^^^^^^^^^^^^^^^^^^
163+
|
164+
help: remove the `Some` and `unwrap_or_default()`
165+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:34:15
166+
|
167+
LL | let val = Some(1);
168+
| ^^^^^^^
169+
170+
error: used `unwrap_or_else()` on `Some` value
171+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:37:17
172+
|
173+
LL | let _val2 = val.unwrap_or_else(|| 2);
174+
| ^^^^^^^^^^^^^^^^^^^^^^^^
175+
|
176+
help: remove the `Some` and `unwrap_or_else()`
177+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:34:15
178+
|
179+
LL | let val = Some(1);
180+
| ^^^^^^^
181+
182+
error: used `unwrap_or()` on `Ok` value
183+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:42:17
184+
|
185+
LL | let _val2 = val.unwrap_or(2);
186+
| ^^^^^^^^^^^^^^^^
187+
|
188+
help: remove the `Ok` and `unwrap_or()`
189+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:41:15
190+
|
191+
LL | let val = Ok::<usize, ()>(1);
192+
| ^^^^^^^^^^^^^^^^^^
193+
194+
error: used `unwrap_or_default()` on `Ok` value
195+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:43:17
196+
|
197+
LL | let _val2 = val.unwrap_or_default();
198+
| ^^^^^^^^^^^^^^^^^^^^^^^
199+
|
200+
help: remove the `Ok` and `unwrap_or_default()`
201+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:41:15
202+
|
203+
LL | let val = Ok::<usize, ()>(1);
204+
| ^^^^^^^^^^^^^^^^^^
205+
206+
error: used `unwrap_or_else()` on `Ok` value
207+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:44:17
208+
|
209+
LL | let _val2 = val.unwrap_or_else(|_| 2);
210+
| ^^^^^^^^^^^^^^^^^^^^^^^^^
211+
|
212+
help: remove the `Ok` and `unwrap_or_else()`
213+
--> $DIR/unnecessary_literal_unwrap_unfixable.rs:41:15
214+
|
215+
LL | let val = Ok::<usize, ()>(1);
216+
| ^^^^^^^^^^^^^^^^^^
217+
218+
error: aborting due to 18 previous errors
15219

0 commit comments

Comments
 (0)