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