1 #![warn(clippy::absurd_extreme_comparisons)]
2 #![allow(
3 unused,
4 clippy::eq_op,
5 clippy::no_effect,
6 clippy::unnecessary_operation,
7 clippy::needless_pass_by_value
8 )]
9
10 #[rustfmt::skip]
main()11 fn main() {
12 const Z: u32 = 0;
13 let u: u32 = 42;
14 u <= 0;
15 u <= Z;
16 u < Z;
17 Z >= u;
18 Z > u;
19 u > u32::MAX;
20 u >= u32::MAX;
21 u32::MAX < u;
22 u32::MAX <= u;
23 1-1 > u;
24 u >= !0;
25 u <= 12 - 2*6;
26 let i: i8 = 0;
27 i < -127 - 1;
28 i8::MAX >= i;
29 3-7 < i32::MIN;
30 let b = false;
31 b >= true;
32 false > b;
33 u > 0; // ok
34 // this is handled by clippy::unit_cmp
35 () < {};
36 }
37
38 use std::cmp::{Ordering, PartialEq, PartialOrd};
39
40 #[derive(PartialEq, PartialOrd)]
41 pub struct U(u64);
42
43 impl PartialEq<u32> for U {
eq(&self, other: &u32) -> bool44 fn eq(&self, other: &u32) -> bool {
45 self.eq(&U(u64::from(*other)))
46 }
47 }
48 impl PartialOrd<u32> for U {
partial_cmp(&self, other: &u32) -> Option<Ordering>49 fn partial_cmp(&self, other: &u32) -> Option<Ordering> {
50 self.partial_cmp(&U(u64::from(*other)))
51 }
52 }
53
foo(val: U) -> bool54 pub fn foo(val: U) -> bool {
55 val > u32::MAX
56 }
57
bar(len: u64) -> bool58 pub fn bar(len: u64) -> bool {
59 // This is OK as we are casting from target sized to fixed size
60 len >= usize::MAX as u64
61 }
62