| //@no-rustfix: overlapping suggestions |
| #![deny(clippy::match_bool)] |
| |
| fn match_bool() { |
| let test: bool = true; |
| |
| match test { |
| //~^ ERROR: you seem to be trying to match on a boolean expression |
| true => 0, |
| false => 42, |
| }; |
| |
| let option = 1; |
| match option == 1 { |
| //~^ ERROR: you seem to be trying to match on a boolean expression |
| true => 1, |
| false => 0, |
| }; |
| |
| match test { |
| //~^ ERROR: you seem to be trying to match on a boolean expression |
| true => (), |
| false => { |
| println!("Noooo!"); |
| }, |
| }; |
| |
| match test { |
| //~^ ERROR: you seem to be trying to match on a boolean expression |
| false => { |
| println!("Noooo!"); |
| }, |
| _ => (), |
| }; |
| |
| match test && test { |
| //~^ ERROR: this boolean expression can be simplified |
| //~| NOTE: `-D clippy::nonminimal-bool` implied by `-D warnings` |
| //~| ERROR: you seem to be trying to match on a boolean expression |
| //~| ERROR: equal expressions as operands to `&&` |
| //~| NOTE: `#[deny(clippy::eq_op)]` on by default |
| false => { |
| println!("Noooo!"); |
| }, |
| _ => (), |
| }; |
| |
| match test { |
| //~^ ERROR: you seem to be trying to match on a boolean expression |
| false => { |
| println!("Noooo!"); |
| }, |
| true => { |
| println!("Yes!"); |
| }, |
| }; |
| |
| // Not linted |
| match option { |
| 1..=10 => 1, |
| 11..=20 => 2, |
| _ => 3, |
| }; |
| |
| // Don't lint |
| let _ = match test { |
| #[cfg(feature = "foo")] |
| true if option == 5 => 10, |
| true => 0, |
| false => 1, |
| }; |
| } |
| |
| fn main() {} |