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