summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/modulo_arithmetic_integral.rs
blob: fc1acc39ebc776828508b1d2a6a69cfcb5573616 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#![warn(clippy::modulo_arithmetic)]
#![allow(clippy::no_effect, clippy::unnecessary_operation, clippy::modulo_one)]

fn main() {
    // Lint on signed integral numbers
    let a = -1;
    let mut b = 2;
    a % b;
    b % a;
    b %= a;

    let a_i8: i8 = 1;
    let mut b_i8: i8 = 2;
    a_i8 % b_i8;
    b_i8 %= a_i8;

    let a_i16: i16 = 1;
    let mut b_i16: i16 = 2;
    a_i16 % b_i16;
    b_i16 %= a_i16;

    let a_i32: i32 = 1;
    let mut b_i32: i32 = 2;
    a_i32 % b_i32;
    b_i32 %= a_i32;

    let a_i64: i64 = 1;
    let mut b_i64: i64 = 2;
    a_i64 % b_i64;
    b_i64 %= a_i64;

    let a_i128: i128 = 1;
    let mut b_i128: i128 = 2;
    a_i128 % b_i128;
    b_i128 %= a_i128;

    let a_isize: isize = 1;
    let mut b_isize: isize = 2;
    a_isize % b_isize;
    b_isize %= a_isize;

    let a = 1;
    let mut b = 2;
    a % b;
    b %= a;

    // No lint on unsigned integral value
    let a_u8: u8 = 17;
    let b_u8: u8 = 3;
    a_u8 % b_u8;
    let mut a_u8: u8 = 1;
    a_u8 %= 2;

    let a_u16: u16 = 17;
    let b_u16: u16 = 3;
    a_u16 % b_u16;
    let mut a_u16: u16 = 1;
    a_u16 %= 2;

    let a_u32: u32 = 17;
    let b_u32: u32 = 3;
    a_u32 % b_u32;
    let mut a_u32: u32 = 1;
    a_u32 %= 2;

    let a_u64: u64 = 17;
    let b_u64: u64 = 3;
    a_u64 % b_u64;
    let mut a_u64: u64 = 1;
    a_u64 %= 2;

    let a_u128: u128 = 17;
    let b_u128: u128 = 3;
    a_u128 % b_u128;
    let mut a_u128: u128 = 1;
    a_u128 %= 2;

    let a_usize: usize = 17;
    let b_usize: usize = 3;
    a_usize % b_usize;
    let mut a_usize: usize = 1;
    a_usize %= 2;
}