]>
Commit | Line | Data |
---|---|---|
abe05a73 XL |
1 | |
2 | ||
ea8adc8c XL |
3 | #![warn(nonminimal_bool, logic_bug)] |
4 | ||
5 | #[allow(unused, many_single_char_names)] | |
6 | fn main() { | |
7 | let a: bool = unimplemented!(); | |
8 | let b: bool = unimplemented!(); | |
9 | let c: bool = unimplemented!(); | |
10 | let d: bool = unimplemented!(); | |
11 | let e: bool = unimplemented!(); | |
12 | let _ = a && b || a; | |
13 | let _ = !(a && b); | |
14 | let _ = !true; | |
15 | let _ = !false; | |
16 | let _ = !!a; | |
17 | let _ = false && a; | |
18 | let _ = false || a; | |
19 | // don't lint on cfgs | |
20 | let _ = cfg!(you_shall_not_not_pass) && a; | |
21 | let _ = a || !b || !c || !d || !e; | |
22 | let _ = !(a && b || c); | |
23 | let _ = !(!a && b); | |
24 | } | |
25 | ||
26 | #[allow(unused, many_single_char_names)] | |
27 | fn equality_stuff() { | |
28 | let a: i32 = unimplemented!(); | |
29 | let b: i32 = unimplemented!(); | |
30 | let c: i32 = unimplemented!(); | |
31 | let d: i32 = unimplemented!(); | |
32 | let e: i32 = unimplemented!(); | |
33 | let _ = a == b && a != b; | |
34 | let _ = a == b && c == 5 && a == b; | |
35 | let _ = a == b && c == 5 && b == a; | |
36 | let _ = a < b && a >= b; | |
37 | let _ = a > b && a <= b; | |
38 | let _ = a > b && a == b; | |
39 | let _ = a != b || !(a != b || c == d); | |
40 | } | |
abe05a73 XL |
41 | |
42 | #[allow(unused, many_single_char_names)] | |
43 | fn methods_with_negation() { | |
44 | let a: Option<i32> = unimplemented!(); | |
45 | let b: Result<i32, i32> = unimplemented!(); | |
46 | let _ = a.is_some(); | |
47 | let _ = !a.is_some(); | |
48 | let _ = a.is_none(); | |
49 | let _ = !a.is_none(); | |
50 | let _ = b.is_err(); | |
51 | let _ = !b.is_err(); | |
52 | let _ = b.is_ok(); | |
53 | let _ = !b.is_ok(); | |
54 | let c = false; | |
55 | let _ = !(a.is_some() && !c); | |
ff7c6d11 XL |
56 | let _ = !(!c ^ c) || !a.is_some(); |
57 | let _ = (!c ^ c) || !a.is_some(); | |
58 | let _ = !c ^ c || !a.is_some(); | |
abe05a73 | 59 | } |