]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/implicit_saturating_sub.fixed
New upstream version 1.52.1+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / implicit_saturating_sub.fixed
CommitLineData
f20569fa
XL
1// run-rustfix
2#![allow(unused_assignments, unused_mut, clippy::assign_op_pattern)]
3#![warn(clippy::implicit_saturating_sub)]
4
5fn 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}