]> git.lizzy.rs Git - rust.git/blob - tests/ui/redundant_pattern_matching.fixed
iterate List by value
[rust.git] / tests / ui / redundant_pattern_matching.fixed
1 // run-rustfix
2
3 #![warn(clippy::all)]
4 #![warn(clippy::redundant_pattern_matching)]
5 #![allow(clippy::unit_arg, unused_must_use, clippy::needless_bool, deprecated)]
6
7 fn main() {
8     if Ok::<i32, i32>(42).is_ok() {}
9
10     if Err::<i32, i32>(42).is_err() {}
11
12     if None::<()>.is_none() {}
13
14     if Some(42).is_some() {}
15
16     if Some(42).is_some() {
17         foo();
18     } else {
19         bar();
20     }
21
22     while Some(42).is_some() {}
23
24     while Some(42).is_none() {}
25
26     while None::<()>.is_none() {}
27
28     while Ok::<i32, i32>(10).is_ok() {}
29
30     while Ok::<i32, i32>(10).is_err() {}
31
32     let mut v = vec![1, 2, 3];
33     while v.pop().is_some() {
34         foo();
35     }
36
37     if Ok::<i32, i32>(42).is_ok() {}
38
39     if Err::<i32, i32>(42).is_err() {}
40
41     if None::<i32>.is_none() {}
42
43     if Some(42).is_some() {}
44
45     if let Ok(x) = Ok::<i32, i32>(42) {
46         println!("{}", x);
47     }
48
49     Ok::<i32, i32>(42).is_ok();
50
51     Ok::<i32, i32>(42).is_err();
52
53     Err::<i32, i32>(42).is_err();
54
55     Err::<i32, i32>(42).is_ok();
56
57     Some(42).is_some();
58
59     None::<()>.is_none();
60
61     let _ = None::<()>.is_none();
62
63     let _ = if Ok::<usize, ()>(4).is_ok() { true } else { false };
64
65     let opt = Some(false);
66     let x = if opt.is_some() { true } else { false };
67     takes_bool(x);
68
69     issue5504();
70
71     let _ = if gen_opt().is_some() {
72         1
73     } else if gen_opt().is_none() {
74         2
75     } else if gen_res().is_ok() {
76         3
77     } else if gen_res().is_err() {
78         4
79     } else {
80         5
81     };
82 }
83
84 fn gen_opt() -> Option<()> {
85     None
86 }
87
88 fn gen_res() -> Result<(), ()> {
89     Ok(())
90 }
91
92 fn takes_bool(_: bool) {}
93
94 fn foo() {}
95
96 fn bar() {}
97
98 macro_rules! m {
99     () => {
100         Some(42u32)
101     };
102 }
103
104 fn issue5504() {
105     fn result_opt() -> Result<Option<i32>, i32> {
106         Err(42)
107     }
108
109     fn try_result_opt() -> Result<i32, i32> {
110         while r#try!(result_opt()).is_some() {}
111         if r#try!(result_opt()).is_some() {}
112         Ok(42)
113     }
114
115     try_result_opt();
116
117     if m!().is_some() {}
118     while m!().is_some() {}
119 }