1 #![warn(clippy::needless_range_loop)]
2
calc_idx(i: usize) -> usize3 fn calc_idx(i: usize) -> usize {
4 (i + i + 20) % 4
5 }
6
main()7 fn main() {
8 let ns = vec![2, 3, 5, 7];
9
10 for i in 3..10 {
11 println!("{}", ns[i]);
12 }
13
14 for i in 3..10 {
15 println!("{}", ns[i % 4]);
16 }
17
18 for i in 3..10 {
19 println!("{}", ns[i % ns.len()]);
20 }
21
22 for i in 3..10 {
23 println!("{}", ns[calc_idx(i)]);
24 }
25
26 for i in 3..10 {
27 println!("{}", ns[calc_idx(i) % 4]);
28 }
29
30 let mut ms = vec![1, 2, 3, 4, 5, 6];
31 for i in 0..ms.len() {
32 ms[i] *= 2;
33 }
34 assert_eq!(ms, vec![2, 4, 6, 8, 10, 12]);
35
36 let mut ms = vec![1, 2, 3, 4, 5, 6];
37 for i in 0..ms.len() {
38 let x = &mut ms[i];
39 *x *= 2;
40 }
41 assert_eq!(ms, vec![2, 4, 6, 8, 10, 12]);
42
43 let g = vec![1, 2, 3, 4, 5, 6];
44 let glen = g.len();
45 for i in 0..glen {
46 let x: u32 = g[i + 1..].iter().sum();
47 println!("{}", g[i] + x);
48 }
49 assert_eq!(g, vec![20, 18, 15, 11, 6, 0]);
50
51 let mut g = vec![1, 2, 3, 4, 5, 6];
52 let glen = g.len();
53 for i in 0..glen {
54 g[i] = g[i + 1..].iter().sum();
55 }
56 assert_eq!(g, vec![20, 18, 15, 11, 6, 0]);
57
58 let x = 5;
59 let mut vec = vec![0; 9];
60
61 for i in x..x + 4 {
62 vec[i] += 1;
63 }
64
65 let x = 5;
66 let mut vec = vec![0; 10];
67
68 for i in x..=x + 4 {
69 vec[i] += 1;
70 }
71
72 let arr = [1, 2, 3];
73
74 for i in 0..3 {
75 println!("{}", arr[i]);
76 }
77
78 for i in 0..2 {
79 println!("{}", arr[i]);
80 }
81
82 for i in 1..3 {
83 println!("{}", arr[i]);
84 }
85
86 // Fix #5945
87 let mut vec = vec![1, 2, 3, 4];
88 for i in 0..vec.len() - 1 {
89 vec[i] += 1;
90 }
91 let mut vec = vec![1, 2, 3, 4];
92 for i in vec.len() - 3..vec.len() {
93 vec[i] += 1;
94 }
95 let mut vec = vec![1, 2, 3, 4];
96 for i in vec.len() - 3..vec.len() - 1 {
97 vec[i] += 1;
98 }
99 }
100
101 mod issue2277 {
example(list: &[[f64; 3]])102 pub fn example(list: &[[f64; 3]]) {
103 let mut x: [f64; 3] = [10.; 3];
104
105 for i in 0..3 {
106 x[i] = list.iter().map(|item| item[i]).sum::<f64>();
107 }
108 }
109 }
110