]> git.lizzy.rs Git - rust.git/blob - tests/ui/implicit_saturating_sub.fixed
iterate List by value
[rust.git] / tests / ui / implicit_saturating_sub.fixed
1 // run-rustfix
2 #![allow(unused_assignments, unused_mut, clippy::assign_op_pattern)]
3 #![warn(clippy::implicit_saturating_sub)]
4
5 fn main() {
6     // Tests for unsigned integers
7
8     let end_8: u8 = 10;
9     let start_8: u8 = 5;
10     let mut u_8: u8 = end_8 - start_8;
11
12     // Lint
13     u_8 = u_8.saturating_sub(1);
14
15     match end_8 {
16         10 => {
17             // Lint
18             u_8 = u_8.saturating_sub(1);
19         },
20         11 => u_8 += 1,
21         _ => u_8 = 0,
22     }
23
24     let end_16: u16 = 40;
25     let start_16: u16 = 35;
26
27     let mut u_16: u16 = end_16 - start_16;
28
29     // Lint
30     u_16 = u_16.saturating_sub(1);
31
32     let mut end_32: u32 = 7010;
33     let mut start_32: u32 = 7000;
34
35     let mut u_32: u32 = end_32 - start_32;
36
37     // Lint
38     u_32 = u_32.saturating_sub(1);
39
40     // No Lint
41     if u_32 > 0 {
42         u_16 += 1;
43     }
44
45     // No Lint
46     if u_32 != 0 {
47         end_32 -= 1;
48         start_32 += 1;
49     }
50
51     let mut end_64: u64 = 75001;
52     let mut start_64: u64 = 75000;
53
54     let mut u_64: u64 = end_64 - start_64;
55
56     // Lint
57     u_64 = u_64.saturating_sub(1);
58
59     // Lint
60     u_64 = u_64.saturating_sub(1);
61
62     // Lint
63     u_64 = u_64.saturating_sub(1);
64
65     // No Lint
66     if u_64 >= 1 {
67         u_64 -= 1;
68     }
69
70     // No Lint
71     if u_64 > 0 {
72         end_64 -= 1;
73     }
74
75     // Tests for usize
76     let end_usize: usize = 8054;
77     let start_usize: usize = 8050;
78
79     let mut u_usize: usize = end_usize - start_usize;
80
81     // Lint
82     u_usize = u_usize.saturating_sub(1);
83
84     // Tests for signed integers
85
86     let endi_8: i8 = 10;
87     let starti_8: i8 = 50;
88
89     let mut i_8: i8 = endi_8 - starti_8;
90
91     // Lint
92     i_8 = i_8.saturating_sub(1);
93
94     // Lint
95     i_8 = i_8.saturating_sub(1);
96
97     // Lint
98     i_8 = i_8.saturating_sub(1);
99
100     // Lint
101     i_8 = i_8.saturating_sub(1);
102
103     let endi_16: i16 = 45;
104     let starti_16: i16 = 44;
105
106     let mut i_16: i16 = endi_16 - starti_16;
107
108     // Lint
109     i_16 = i_16.saturating_sub(1);
110
111     // Lint
112     i_16 = i_16.saturating_sub(1);
113
114     // Lint
115     i_16 = i_16.saturating_sub(1);
116
117     // Lint
118     i_16 = i_16.saturating_sub(1);
119
120     let endi_32: i32 = 45;
121     let starti_32: i32 = 44;
122
123     let mut i_32: i32 = endi_32 - starti_32;
124
125     // Lint
126     i_32 = i_32.saturating_sub(1);
127
128     // Lint
129     i_32 = i_32.saturating_sub(1);
130
131     // Lint
132     i_32 = i_32.saturating_sub(1);
133
134     // Lint
135     i_32 = i_32.saturating_sub(1);
136
137     let endi_64: i64 = 45;
138     let starti_64: i64 = 44;
139
140     let mut i_64: i64 = endi_64 - starti_64;
141
142     // Lint
143     i_64 = i_64.saturating_sub(1);
144
145     // Lint
146     i_64 = i_64.saturating_sub(1);
147
148     // Lint
149     i_64 = i_64.saturating_sub(1);
150
151     // No Lint
152     if i_64 > 0 {
153         i_64 -= 1;
154     }
155
156     // No Lint
157     if i_64 != 0 {
158         i_64 -= 1;
159     }
160 }