2023-07-27 11:40:22 +00:00
|
|
|
//@no-rustfix: overlapping suggestions
|
2020-04-03 00:36:49 +00:00
|
|
|
#![deny(clippy::match_bool)]
|
|
|
|
|
2018-04-07 08:23:27 +00:00
|
|
|
fn match_bool() {
|
|
|
|
let test: bool = true;
|
|
|
|
|
|
|
|
match test {
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: you seem to be trying to match on a boolean expression
|
2018-04-07 08:23:27 +00:00
|
|
|
true => 0,
|
|
|
|
false => 42,
|
|
|
|
};
|
|
|
|
|
|
|
|
let option = 1;
|
|
|
|
match option == 1 {
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: you seem to be trying to match on a boolean expression
|
2018-04-07 08:23:27 +00:00
|
|
|
true => 1,
|
|
|
|
false => 0,
|
|
|
|
};
|
|
|
|
|
|
|
|
match test {
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: you seem to be trying to match on a boolean expression
|
2018-04-07 08:23:27 +00:00
|
|
|
true => (),
|
2018-12-09 22:26:16 +00:00
|
|
|
false => {
|
|
|
|
println!("Noooo!");
|
|
|
|
},
|
2018-04-07 08:23:27 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
match test {
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: you seem to be trying to match on a boolean expression
|
2018-12-09 22:26:16 +00:00
|
|
|
false => {
|
|
|
|
println!("Noooo!");
|
|
|
|
},
|
2018-04-07 08:23:27 +00:00
|
|
|
_ => (),
|
|
|
|
};
|
|
|
|
|
|
|
|
match test && test {
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ 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
|
2018-12-09 22:26:16 +00:00
|
|
|
false => {
|
|
|
|
println!("Noooo!");
|
|
|
|
},
|
2018-04-07 08:23:27 +00:00
|
|
|
_ => (),
|
|
|
|
};
|
|
|
|
|
|
|
|
match test {
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: you seem to be trying to match on a boolean expression
|
2018-12-09 22:26:16 +00:00
|
|
|
false => {
|
|
|
|
println!("Noooo!");
|
|
|
|
},
|
|
|
|
true => {
|
|
|
|
println!("Yes!");
|
|
|
|
},
|
2018-04-07 08:23:27 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// Not linted
|
|
|
|
match option {
|
2019-06-01 05:54:47 +00:00
|
|
|
1..=10 => 1,
|
|
|
|
11..=20 => 2,
|
2018-04-07 08:23:27 +00:00
|
|
|
_ => 3,
|
|
|
|
};
|
2022-02-17 18:43:59 +00:00
|
|
|
|
|
|
|
// Don't lint
|
|
|
|
let _ = match test {
|
|
|
|
#[cfg(feature = "foo")]
|
|
|
|
true if option == 5 => 10,
|
|
|
|
true => 0,
|
|
|
|
false => 1,
|
|
|
|
};
|
2018-04-07 08:23:27 +00:00
|
|
|
}
|
|
|
|
|
2018-12-09 22:26:16 +00:00
|
|
|
fn main() {}
|