]> git.lizzy.rs Git - rust.git/blob - tests/ui/invalid_upcast_comparisons.rs
Adapt the *.stderr files of the ui-tests to the tool_lints
[rust.git] / tests / ui / invalid_upcast_comparisons.rs
1 #![feature(tool_lints)]
2
3
4 #![warn(clippy::invalid_upcast_comparisons)]
5 #![allow(unused, clippy::eq_op, clippy::no_effect, clippy::unnecessary_operation, clippy::cast_lossless)]
6
7 fn mk_value<T>() -> T { unimplemented!() }
8
9 fn main() {
10     let u32: u32 = mk_value();
11     let u8: u8 = mk_value();
12     let i32: i32 = mk_value();
13     let i8: i8 = mk_value();
14
15     // always false, since no u8 can be > 300
16     (u8 as u32) > 300;
17     (u8 as i32) > 300;
18     (u8 as u32) == 300;
19     (u8 as i32) == 300;
20     300 < (u8 as u32);
21     300 < (u8 as i32);
22     300 == (u8 as u32);
23     300 == (u8 as i32);
24     // inverted of the above
25     (u8 as u32) <= 300;
26     (u8 as i32) <= 300;
27     (u8 as u32) != 300;
28     (u8 as i32) != 300;
29     300 >= (u8 as u32);
30     300 >= (u8 as i32);
31     300 != (u8 as u32);
32     300 != (u8 as i32);
33
34     // always false, since u8 -> i32 doesn't wrap
35     (u8 as i32) < 0;
36     -5 != (u8 as i32);
37     // inverted of the above
38     (u8 as i32) >= 0;
39     -5 == (u8 as i32);
40
41     // always false, since no u8 can be 1337
42     1337 == (u8 as i32);
43     1337 == (u8 as u32);
44     // inverted of the above
45     1337 != (u8 as i32);
46     1337 != (u8 as u32);
47
48
49     // Those are Ok:
50     (u8 as u32) > 20;
51     42 == (u8 as i32);
52     42 != (u8 as i32);
53     42 > (u8 as i32);
54     (u8 as i32) == 42;
55     (u8 as i32) != 42;
56     (u8 as i32) > 42;
57     (u8 as i32) < 42;
58
59     (u8 as i8) == -1;
60     (u8 as i8) != -1;
61     (u8 as i32) > -1;
62     (u8 as i32) < -1;
63     (u32 as i32) < -5;
64     (u32 as i32) < 10;
65
66     (i8 as u8) == 1;
67     (i8 as u8) != 1;
68     (i8 as u8) < 1;
69     (i8 as u8) > 1;
70     (i32 as u32) < 5;
71     (i32 as u32) < 10;
72
73     -5 < (u32 as i32);
74     0 <= (u32 as i32);
75     0 < (u32 as i32);
76
77     -5 > (u32 as i32);
78     -5 >= (u8 as i32);
79
80     -5 == (u32 as i32);
81 }