1 // Issue #50124 - Test warning for unused operator expressions
5 #![warn(unused_must_use)]
6 #![feature(never_type)]
8 fn deref_never(x: &!) {
9 // Don't lint for uninhabited typess
15 let val_pointer = &val;
17 // Comparison Operators
18 val == 1; //~ WARNING unused comparison
19 val < 1; //~ WARNING unused comparison
20 val <= 1; //~ WARNING unused comparison
21 val != 1; //~ WARNING unused comparison
22 val >= 1; //~ WARNING unused comparison
23 val > 1; //~ WARNING unused comparison
25 // Arithmetic Operators
26 val + 2; //~ WARNING unused arithmetic operation
27 val - 2; //~ WARNING unused arithmetic operation
28 val / 2; //~ WARNING unused arithmetic operation
29 val * 2; //~ WARNING unused arithmetic operation
30 val % 2; //~ WARNING unused arithmetic operation
33 true && true; //~ WARNING unused logical operation
34 false || true; //~ WARNING unused logical operation
37 5 ^ val; //~ WARNING unused bitwise operation
38 5 & val; //~ WARNING unused bitwise operation
39 5 | val; //~ WARNING unused bitwise operation
40 5 << val; //~ WARNING unused bitwise operation
41 5 >> val; //~ WARNING unused bitwise operation
44 !val; //~ WARNING unused unary operation
45 -val; //~ WARNING unused unary operation
46 *val_pointer; //~ WARNING unused unary operation
49 deref_never(&panic!());