// Test that negating unsigned integers doesn't compile struct S; impl std::ops::Neg for S { type Output = u32; fn neg(self) -> u32 { 0 } } fn main() { let _max: usize = -1; //~^ ERROR cannot apply unary operator `-` to type `usize` let x = 5u8; let _y = -x; //~^ ERROR cannot apply unary operator `-` to type `u8` -S; // should not trigger the gate; issue 26840 }