// Issue #50124 - Test warning for unused operator expressions // check-pass #![warn(unused_must_use)] #![feature(never_type)] fn deref_never(x: &!) { // Don't lint for uninhabited typess *x; } fn main() { let val = 1; let val_pointer = &val; // Comparison Operators val == 1; //~ WARNING unused comparison val < 1; //~ WARNING unused comparison val <= 1; //~ WARNING unused comparison val != 1; //~ WARNING unused comparison val >= 1; //~ WARNING unused comparison val > 1; //~ WARNING unused comparison // Arithmetic Operators val + 2; //~ WARNING unused arithmetic operation val - 2; //~ WARNING unused arithmetic operation val / 2; //~ WARNING unused arithmetic operation val * 2; //~ WARNING unused arithmetic operation val % 2; //~ WARNING unused arithmetic operation // Logical Operators true && true; //~ WARNING unused logical operation false || true; //~ WARNING unused logical operation // Bitwise Operators 5 ^ val; //~ WARNING unused bitwise operation 5 & val; //~ WARNING unused bitwise operation 5 | val; //~ WARNING unused bitwise operation 5 << val; //~ WARNING unused bitwise operation 5 >> val; //~ WARNING unused bitwise operation // Unary Operators !val; //~ WARNING unused unary operation -val; //~ WARNING unused unary operation *val_pointer; //~ WARNING unused unary operation if false { deref_never(&panic!()); } }