]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/match_bool.rs
New upstream version 1.74.1+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / match_bool.rs
CommitLineData
781aab86 1//@no-rustfix: overlapping suggestions
f20569fa
XL
2#![deny(clippy::match_bool)]
3
4fn match_bool() {
5 let test: bool = true;
6
7 match test {
781aab86 8 //~^ ERROR: you seem to be trying to match on a boolean expression
f20569fa
XL
9 true => 0,
10 false => 42,
11 };
12
13 let option = 1;
14 match option == 1 {
781aab86 15 //~^ ERROR: you seem to be trying to match on a boolean expression
f20569fa
XL
16 true => 1,
17 false => 0,
18 };
19
20 match test {
781aab86 21 //~^ ERROR: you seem to be trying to match on a boolean expression
f20569fa
XL
22 true => (),
23 false => {
24 println!("Noooo!");
25 },
26 };
27
28 match test {
781aab86 29 //~^ ERROR: you seem to be trying to match on a boolean expression
f20569fa
XL
30 false => {
31 println!("Noooo!");
32 },
33 _ => (),
34 };
35
36 match test && test {
781aab86
FG
37 //~^ ERROR: this boolean expression can be simplified
38 //~| NOTE: `-D clippy::nonminimal-bool` implied by `-D warnings`
39 //~| ERROR: you seem to be trying to match on a boolean expression
40 //~| ERROR: equal expressions as operands to `&&`
41 //~| NOTE: `#[deny(clippy::eq_op)]` on by default
f20569fa
XL
42 false => {
43 println!("Noooo!");
44 },
45 _ => (),
46 };
47
48 match test {
781aab86 49 //~^ ERROR: you seem to be trying to match on a boolean expression
f20569fa
XL
50 false => {
51 println!("Noooo!");
52 },
53 true => {
54 println!("Yes!");
55 },
56 };
57
58 // Not linted
59 match option {
60 1..=10 => 1,
61 11..=20 => 2,
62 _ => 3,
63 };
5e7ed085
FG
64
65 // Don't lint
66 let _ = match test {
67 #[cfg(feature = "foo")]
68 true if option == 5 => 10,
69 true => 0,
70 false => 1,
71 };
f20569fa
XL
72}
73
74fn main() {}