]> git.lizzy.rs Git - rust.git/blob - tests/ui/modulo_arithmetic_integral.rs
`assertions_on_result_states` fix suggestion when `assert!` not in a statement
[rust.git] / tests / ui / modulo_arithmetic_integral.rs
1 #![warn(clippy::modulo_arithmetic)]
2 #![allow(clippy::no_effect, clippy::unnecessary_operation, clippy::modulo_one)]
3
4 fn main() {
5     // Lint on signed integral numbers
6     let a = -1;
7     let mut b = 2;
8     a % b;
9     b % a;
10     b %= a;
11
12     let a_i8: i8 = 1;
13     let mut b_i8: i8 = 2;
14     a_i8 % b_i8;
15     b_i8 %= a_i8;
16
17     let a_i16: i16 = 1;
18     let mut b_i16: i16 = 2;
19     a_i16 % b_i16;
20     b_i16 %= a_i16;
21
22     let a_i32: i32 = 1;
23     let mut b_i32: i32 = 2;
24     a_i32 % b_i32;
25     b_i32 %= a_i32;
26
27     let a_i64: i64 = 1;
28     let mut b_i64: i64 = 2;
29     a_i64 % b_i64;
30     b_i64 %= a_i64;
31
32     let a_i128: i128 = 1;
33     let mut b_i128: i128 = 2;
34     a_i128 % b_i128;
35     b_i128 %= a_i128;
36
37     let a_isize: isize = 1;
38     let mut b_isize: isize = 2;
39     a_isize % b_isize;
40     b_isize %= a_isize;
41
42     let a = 1;
43     let mut b = 2;
44     a % b;
45     b %= a;
46
47     // No lint on unsigned integral value
48     let a_u8: u8 = 17;
49     let b_u8: u8 = 3;
50     a_u8 % b_u8;
51     let mut a_u8: u8 = 1;
52     a_u8 %= 2;
53
54     let a_u16: u16 = 17;
55     let b_u16: u16 = 3;
56     a_u16 % b_u16;
57     let mut a_u16: u16 = 1;
58     a_u16 %= 2;
59
60     let a_u32: u32 = 17;
61     let b_u32: u32 = 3;
62     a_u32 % b_u32;
63     let mut a_u32: u32 = 1;
64     a_u32 %= 2;
65
66     let a_u64: u64 = 17;
67     let b_u64: u64 = 3;
68     a_u64 % b_u64;
69     let mut a_u64: u64 = 1;
70     a_u64 %= 2;
71
72     let a_u128: u128 = 17;
73     let b_u128: u128 = 3;
74     a_u128 % b_u128;
75     let mut a_u128: u128 = 1;
76     a_u128 %= 2;
77
78     let a_usize: usize = 17;
79     let b_usize: usize = 3;
80     a_usize % b_usize;
81     let mut a_usize: usize = 1;
82     a_usize %= 2;
83 }