4 #![warn(clippy::redundant_pattern_matching)]
9 clippy::match_like_matches_macro,
14 if None::<()>.is_none() {}
16 if Some(42).is_some() {}
18 if Some(42).is_some() {
24 while Some(42).is_some() {}
26 while Some(42).is_none() {}
28 while None::<()>.is_none() {}
30 let mut v = vec![1, 2, 3];
31 while v.pop().is_some() {
35 if None::<i32>.is_none() {}
37 if Some(42).is_some() {}
43 let _ = None::<()>.is_none();
45 let opt = Some(false);
46 let x = if opt.is_some() { true } else { false };
51 let _ = if gen_opt().is_some() {
53 } else if gen_opt().is_none() {
60 fn gen_opt() -> Option<()> {
64 fn takes_bool(_: bool) {}
70 // Methods that are unstable const should not be suggested within a const context, see issue #5697.
71 // However, in Rust 1.48.0 the methods `is_some` and `is_none` of `Option` were stabilized as const,
72 // so the following should be linted.
73 const fn issue6067() {
74 if Some(42).is_some() {}
76 if None::<()>.is_none() {}
78 while Some(42).is_some() {}
80 while None::<()>.is_none() {}