]> git.lizzy.rs Git - rust.git/commitdiff
Put tests for `step_by(0)` back.
authoruHOOCCOOHu <hooccooh1896@gmail.com>
Wed, 5 Jul 2017 06:51:33 +0000 (14:51 +0800)
committeruHOOCCOOHu <hooccooh1896@gmail.com>
Wed, 5 Jul 2017 07:51:43 +0000 (15:51 +0800)
clippy_tests/examples/range.rs
clippy_tests/examples/range.stderr

index f6d07f31cf57faa315c66f4ef9a8290be2c284f6..4f4573d9e602242bc1cd62ab34902266207c72b2 100644 (file)
@@ -10,9 +10,16 @@ fn step_by(&self, _: u32) {}
 
 #[warn(iterator_step_by_zero, range_zip_with_len)]
 fn main() {
+    let _ = (0..1).step_by(0);
     // No warning for non-zero step
     let _ = (0..1).step_by(1);
 
+    let _ = (1..).step_by(0);
+    let _ = (1...2).step_by(0);
+
+    let x = 0..1;
+    let _ = x.step_by(0);
+
     // No error, not a range.
     let y = NotARange;
     y.step_by(0);
@@ -21,4 +28,7 @@ fn main() {
     let v2 = vec![4,5];
     let _x = v1.iter().zip(0..v1.len());
     let _y = v1.iter().zip(0..v2.len()); // No error
+
+    // check const eval
+    let _ = v1.iter().step_by(2/3);
 }
index 3bc5fd06c41f7c2f539fa93935ffedde6edd4fd4..b6951b9f71309d65251ea44517cd14f484c280ab 100644 (file)
@@ -1,12 +1,44 @@
+error: Iterator::step_by(0) will panic at runtime
+  --> range.rs:13:13
+   |
+13 |     let _ = (0..1).step_by(0);
+   |             ^^^^^^^^^^^^^^^^^
+   |
+   = note: `-D iterator-step-by-zero` implied by `-D warnings`
+
+error: Iterator::step_by(0) will panic at runtime
+  --> range.rs:17:13
+   |
+17 |     let _ = (1..).step_by(0);
+   |             ^^^^^^^^^^^^^^^^
+
+error: Iterator::step_by(0) will panic at runtime
+  --> range.rs:18:13
+   |
+18 |     let _ = (1...2).step_by(0);
+   |             ^^^^^^^^^^^^^^^^^^
+
+error: Iterator::step_by(0) will panic at runtime
+  --> range.rs:21:13
+   |
+21 |     let _ = x.step_by(0);
+   |             ^^^^^^^^^^^^
+
 error: It is more idiomatic to use v1.iter().enumerate()
-  --> range.rs:22:14
+  --> range.rs:29:14
    |
-22 |     let _x = v1.iter().zip(0..v1.len());
+29 |     let _x = v1.iter().zip(0..v1.len());
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `-D range-zip-with-len` implied by `-D warnings`
 
-error: aborting due to previous error
+error: Iterator::step_by(0) will panic at runtime
+  --> range.rs:33:13
+   |
+33 |     let _ = v1.iter().step_by(2/3);
+   |             ^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 6 previous errors
 
 
 To learn more, run the command again with --verbose.