]> git.proxmox.com Git - rustc.git/blob - src/tools/clippy/tests/ui/range.rs
New upstream version 1.22.1+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / range.rs
1 #![feature(iterator_step_by)]
2 #![feature(inclusive_range_syntax)]
3 #![feature(plugin)]
4 #![plugin(clippy)]
5
6 struct NotARange;
7 impl NotARange {
8 fn step_by(&self, _: u32) {}
9 }
10
11 #[warn(iterator_step_by_zero, range_zip_with_len)]
12 fn main() {
13 let _ = (0..1).step_by(0);
14 // No warning for non-zero step
15 let _ = (0..1).step_by(1);
16
17 let _ = (1..).step_by(0);
18 let _ = (1...2).step_by(0);
19
20 let x = 0..1;
21 let _ = x.step_by(0);
22
23 // No error, not a range.
24 let y = NotARange;
25 y.step_by(0);
26
27 let v1 = vec![1,2,3];
28 let v2 = vec![4,5];
29 let _x = v1.iter().zip(0..v1.len());
30 let _y = v1.iter().zip(0..v2.len()); // No error
31
32 // check const eval
33 let _ = v1.iter().step_by(2/3);
34 }