]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/booleans.rs
New upstream version 1.24.1+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / booleans.rs
CommitLineData
abe05a73
XL
1
2
ea8adc8c
XL
3#![warn(nonminimal_bool, logic_bug)]
4
5#[allow(unused, many_single_char_names)]
6fn 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)]
27fn 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)]
43fn 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}