| // 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!()); |
| } |
| } |