//@ check-pass #[derive(PartialEq, Eq)] struct A { f: fn(), //~^ WARN function pointer comparisons } #[allow(unpredictable_function_pointer_comparisons)] #[derive(PartialEq, Eq)] struct AllowedAbove { f: fn(), } #[derive(PartialEq, Eq)] #[allow(unpredictable_function_pointer_comparisons)] struct AllowedBelow { f: fn(), } fn main() { let f: fn() = main; let g: fn() = main; let _ = f > g; //~^ WARN function pointer comparisons let _ = f >= g; //~^ WARN function pointer comparisons let _ = f <= g; //~^ WARN function pointer comparisons let _ = f < g; //~^ WARN function pointer comparisons let _ = assert_eq!(g, g); //~^ WARN function pointer comparisons let _ = assert_ne!(g, g); //~^ WARN function pointer comparisons }