]> git.lizzy.rs Git - rust.git/blob - tests/ui/lint/unused/must-use-ops.rs
Rollup merge of #103236 - tspiteri:redoc-int-adc-sbb, r=m-ou-se
[rust.git] / tests / ui / lint / unused / must-use-ops.rs
1 // Issue #50124 - Test warning for unused operator expressions
2
3 // check-pass
4
5 #![warn(unused_must_use)]
6 #![feature(never_type)]
7
8 fn deref_never(x: &!) {
9     // Don't lint for uninhabited typess
10     *x;
11 }
12
13 fn main() {
14     let val = 1;
15     let val_pointer = &val;
16
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
24
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
31
32     // Logical Operators
33     true && true; //~ WARNING unused logical operation
34     false || true; //~ WARNING unused logical operation
35
36     // Bitwise Operators
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
42
43     // Unary Operators
44     !val; //~ WARNING unused unary operation
45     -val; //~ WARNING unused unary operation
46     *val_pointer; //~ WARNING unused unary operation
47
48     if false {
49         deref_never(&panic!());
50     }
51 }