| #![deny(clippy::match_bool)] |
| #![allow(clippy::nonminimal_bool, clippy::eq_op)] |
| |
| fn match_bool() { |
| let test: bool = true; |
| |
| match test { |
| //~^ match_bool |
| true => 0, |
| false => 42, |
| }; |
| |
| let option = 1; |
| match option == 1 { |
| //~^ match_bool |
| true => 1, |
| false => 0, |
| }; |
| |
| match test { |
| //~^ match_bool |
| true => (), |
| false => { |
| println!("Noooo!"); |
| }, |
| }; |
| |
| match test { |
| //~^ match_bool |
| false => { |
| println!("Noooo!"); |
| }, |
| _ => (), |
| }; |
| |
| match test && test { |
| //~^ match_bool |
| false => { |
| println!("Noooo!"); |
| }, |
| _ => (), |
| }; |
| |
| match test { |
| //~^ match_bool |
| 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, |
| }; |
| |
| let _ = match test { |
| //~^ match_bool |
| true if option == 5 => 10, |
| _ => 1, |
| }; |
| |
| let _ = match test { |
| //~^ match_bool |
| false if option == 5 => 10, |
| _ => 1, |
| }; |
| |
| match test { |
| //~^ match_bool |
| true if option == 5 => println!("Hello"), |
| _ => (), |
| }; |
| |
| match test { |
| //~^ match_bool |
| true if option == 5 => (), |
| _ => println!("Hello"), |
| }; |
| |
| match test { |
| //~^ match_bool |
| false if option == 5 => println!("Hello"), |
| _ => (), |
| }; |
| |
| match test { |
| //~^ match_bool |
| false if option == 5 => (), |
| _ => println!("Hello"), |
| }; |
| } |
| |
| fn issue14099() { |
| match true { |
| //~^ match_bool |
| true => 'a: { |
| break 'a; |
| }, |
| _ => (), |
| } |
| } |
| |
| fn issue15351() { |
| let mut d = false; |
| match d { |
| false => println!("foo"), |
| ref mut d => *d = false, |
| } |
| |
| match d { |
| false => println!("foo"), |
| e => println!("{e}"), |
| } |
| } |
| |
| fn main() {} |