]> git.lizzy.rs Git - rust.git/blob - tests/ui/redundant_pattern_matching.rs
Add more testcases for redundant_pattern_matching
[rust.git] / tests / ui / redundant_pattern_matching.rs
1 #![warn(clippy::all)]
2 #![warn(clippy::redundant_pattern_matching)]
3
4 fn main() {
5     if let Ok(_) = Ok::<i32, i32>(42) {}
6
7     if let Err(_) = Err::<i32, i32>(42) {}
8
9     if let None = None::<()> {}
10
11     if let Some(_) = Some(42) {}
12
13     if Ok::<i32, i32>(42).is_ok() {}
14
15     if Err::<i32, i32>(42).is_err() {}
16
17     if None::<i32>.is_none() {}
18
19     if Some(42).is_some() {}
20
21     if let Ok(x) = Ok::<i32, i32>(42) {
22         println!("{}", x);
23     }
24
25     match Ok::<i32, i32>(42) {
26         Ok(_) => true,
27         Err(_) => false,
28     };
29
30     match Ok::<i32, i32>(42) {
31         Ok(_) => false,
32         Err(_) => true,
33     };
34
35     match Err::<i32, i32>(42) {
36         Ok(_) => false,
37         Err(_) => true,
38     };
39
40     match Err::<i32, i32>(42) {
41         Ok(_) => true,
42         Err(_) => false,
43     };
44
45     match Some(42) {
46         Some(_) => true,
47         None => false,
48     };
49
50     match None::<()> {
51         Some(_) => false,
52         None => true,
53     };
54
55     let _ = match None::<()> {
56         Some(_) => false,
57         None => true,
58     };
59
60     let _ = if let Ok(_) = Ok::<usize, ()>(4) { true } else { false };
61
62     let _ = does_something();
63     let _ = returns_unit();
64 }
65
66 fn does_something() -> bool {
67     if let Ok(_) = Ok::<i32, i32>(4) {
68         true
69     } else {
70         false
71     }
72 }
73
74 fn returns_unit() {
75     if let Ok(_) = Ok::<i32, i32>(4) {
76         true
77     } else {
78         false
79     };
80 }