]>
Commit | Line | Data |
---|---|---|
abe05a73 XL |
1 | |
2 | ||
ea8adc8c XL |
3 | |
4 | #![warn(invalid_upcast_comparisons)] | |
5 | #![allow(unused, eq_op, no_effect, unnecessary_operation, 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 | } |