]> git.lizzy.rs Git - rust.git/blob - tests/ui/precedence.rs
rustup and compile-fail -> ui test move
[rust.git] / tests / ui / precedence.rs
1 #![feature(plugin)]
2 #![plugin(clippy)]
3
4 #[deny(precedence)]
5 #[allow(identity_op)]
6 #[allow(eq_op)]
7 fn main() {
8     1 << 2 + 3;
9     //~^ ERROR operator precedence can trip
10     //~| SUGGESTION 1 << (2 + 3)
11     1 + 2 << 3;
12     //~^ERROR operator precedence can trip
13     //~| SUGGESTION (1 + 2) << 3
14     4 >> 1 + 1;
15     //~^ERROR operator precedence can trip
16     //~| SUGGESTION 4 >> (1 + 1)
17     1 + 3 >> 2;
18     //~^ERROR operator precedence can trip
19     //~| SUGGESTION (1 + 3) >> 2
20     1 ^ 1 - 1;
21     //~^ERROR operator precedence can trip
22     //~| SUGGESTION 1 ^ (1 - 1)
23     3 | 2 - 1;
24     //~^ERROR operator precedence can trip
25     //~| SUGGESTION 3 | (2 - 1)
26     3 & 5 - 2;
27     //~^ERROR operator precedence can trip
28     //~| SUGGESTION 3 & (5 - 2)
29
30     -1i32.abs();
31     //~^ERROR unary minus has lower precedence
32     //~| SUGGESTION -(1i32.abs())
33     -1f32.abs();
34     //~^ERROR unary minus has lower precedence
35     //~| SUGGESTION -(1f32.abs())
36
37     // These should not trigger an error
38     let _ = (-1i32).abs();
39     let _ = (-1f32).abs();
40     let _ = -(1i32).abs();
41     let _ = -(1f32).abs();
42     let _ = -(1i32.abs());
43     let _ = -(1f32.abs());
44 }