about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/ui/needless_range_loop.rs87
-rw-r--r--tests/ui/needless_range_loop.stderr120
-rw-r--r--tests/ui/needless_range_loop2.rs85
-rw-r--r--tests/ui/needless_range_loop2.stderr91
4 files changed, 194 insertions, 189 deletions
diff --git a/tests/ui/needless_range_loop.rs b/tests/ui/needless_range_loop.rs
index 6f1f4c5fb04..3fce34367ae 100644
--- a/tests/ui/needless_range_loop.rs
+++ b/tests/ui/needless_range_loop.rs
@@ -1,93 +1,10 @@
-#![allow(clippy::cognitive_complexity)]
+#![warn(clippy::needless_range_loop)]
 
 static STATIC: [usize; 4] = [0, 1, 8, 16];
 const CONST: [usize; 4] = [0, 1, 8, 16];
-
-fn calc_idx(i: usize) -> usize {
-    (i + i + 20) % 4
-}
+const MAX_LEN: usize = 42;
 
 fn main() {
-    const MAX_LEN: usize = 42;
-
-    let ns = vec![2, 3, 5, 7];
-
-    for i in 3..10 {
-        println!("{}", ns[i]);
-    }
-
-    for i in 3..10 {
-        println!("{}", ns[i % 4]);
-    }
-
-    for i in 3..10 {
-        println!("{}", ns[i % ns.len()]);
-    }
-
-    for i in 3..10 {
-        println!("{}", ns[calc_idx(i)]);
-    }
-
-    for i in 3..10 {
-        println!("{}", ns[calc_idx(i) % 4]);
-    }
-
-    let mut ms = vec![1, 2, 3, 4, 5, 6];
-    for i in 0..ms.len() {
-        ms[i] *= 2;
-    }
-    assert_eq!(ms, vec![2, 4, 6, 8, 10, 12]);
-
-    let mut ms = vec![1, 2, 3, 4, 5, 6];
-    for i in 0..ms.len() {
-        let x = &mut ms[i];
-        *x *= 2;
-    }
-    assert_eq!(ms, vec![2, 4, 6, 8, 10, 12]);
-
-    let g = vec![1, 2, 3, 4, 5, 6];
-    let glen = g.len();
-    for i in 0..glen {
-        let x: u32 = g[i + 1..].iter().sum();
-        println!("{}", g[i] + x);
-    }
-    assert_eq!(g, vec![20, 18, 15, 11, 6, 0]);
-
-    let mut g = vec![1, 2, 3, 4, 5, 6];
-    let glen = g.len();
-    for i in 0..glen {
-        g[i] = g[i + 1..].iter().sum();
-    }
-    assert_eq!(g, vec![20, 18, 15, 11, 6, 0]);
-
-    let x = 5;
-    let mut vec = vec![0; 9];
-
-    for i in x..x + 4 {
-        vec[i] += 1;
-    }
-
-    let x = 5;
-    let mut vec = vec![0; 10];
-
-    for i in x..=x + 4 {
-        vec[i] += 1;
-    }
-
-    let arr = [1, 2, 3];
-
-    for i in 0..3 {
-        println!("{}", arr[i]);
-    }
-
-    for i in 0..2 {
-        println!("{}", arr[i]);
-    }
-
-    for i in 1..3 {
-        println!("{}", arr[i]);
-    }
-
     let mut vec = vec![1, 2, 3, 4];
     let vec2 = vec![1, 2, 3, 4];
     for i in 0..vec.len() {
diff --git a/tests/ui/needless_range_loop.stderr b/tests/ui/needless_range_loop.stderr
index f145c11dbc2..c50c4931fb4 100644
--- a/tests/ui/needless_range_loop.stderr
+++ b/tests/ui/needless_range_loop.stderr
@@ -1,105 +1,17 @@
-error: the loop variable `i` is only used to index `ns`.
-  --> $DIR/needless_range_loop.rs:15:14
-   |
-LL |     for i in 3..10 {
-   |              ^^^^^
-   |
-   = note: `-D clippy::needless-range-loop` implied by `-D warnings`
-help: consider using an iterator
-   |
-LL |     for <item> in ns.iter().take(10).skip(3) {
-   |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the loop variable `i` is only used to index `ms`.
-  --> $DIR/needless_range_loop.rs:36:14
-   |
-LL |     for i in 0..ms.len() {
-   |              ^^^^^^^^^^^
-   |
-help: consider using an iterator
-   |
-LL |     for <item> in &mut ms {
-   |         ^^^^^^    ^^^^^^^
-
-error: the loop variable `i` is only used to index `ms`.
-  --> $DIR/needless_range_loop.rs:42:14
-   |
-LL |     for i in 0..ms.len() {
-   |              ^^^^^^^^^^^
-   |
-help: consider using an iterator
-   |
-LL |     for <item> in &mut ms {
-   |         ^^^^^^    ^^^^^^^
-
-error: the loop variable `i` is only used to index `vec`.
-  --> $DIR/needless_range_loop.rs:66:14
-   |
-LL |     for i in x..x + 4 {
-   |              ^^^^^^^^
-   |
-help: consider using an iterator
-   |
-LL |     for <item> in vec.iter_mut().skip(x).take(4) {
-   |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
 error: the loop variable `i` is only used to index `vec`.
-  --> $DIR/needless_range_loop.rs:73:14
-   |
-LL |     for i in x..=x + 4 {
-   |              ^^^^^^^^^
-   |
-help: consider using an iterator
-   |
-LL |     for <item> in vec.iter_mut().skip(x).take(4 + 1) {
-   |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the loop variable `i` is only used to index `arr`.
-  --> $DIR/needless_range_loop.rs:79:14
-   |
-LL |     for i in 0..3 {
-   |              ^^^^
-   |
-help: consider using an iterator
-   |
-LL |     for <item> in &arr {
-   |         ^^^^^^    ^^^^
-
-error: the loop variable `i` is only used to index `arr`.
-  --> $DIR/needless_range_loop.rs:83:14
-   |
-LL |     for i in 0..2 {
-   |              ^^^^
-   |
-help: consider using an iterator
-   |
-LL |     for <item> in arr.iter().take(2) {
-   |         ^^^^^^    ^^^^^^^^^^^^^^^^^^
-
-error: the loop variable `i` is only used to index `arr`.
-  --> $DIR/needless_range_loop.rs:87:14
-   |
-LL |     for i in 1..3 {
-   |              ^^^^
-   |
-help: consider using an iterator
-   |
-LL |     for <item> in arr.iter().skip(1) {
-   |         ^^^^^^    ^^^^^^^^^^^^^^^^^^
-
-error: the loop variable `i` is only used to index `vec`.
-  --> $DIR/needless_range_loop.rs:93:14
+  --> $DIR/needless_range_loop.rs:10:14
    |
 LL |     for i in 0..vec.len() {
    |              ^^^^^^^^^^^^
    |
+   = note: `-D clippy::needless-range-loop` implied by `-D warnings`
 help: consider using an iterator
    |
 LL |     for <item> in &vec {
    |         ^^^^^^    ^^^^
 
 error: the loop variable `i` is only used to index `vec`.
-  --> $DIR/needless_range_loop.rs:102:14
+  --> $DIR/needless_range_loop.rs:19:14
    |
 LL |     for i in 0..vec.len() {
    |              ^^^^^^^^^^^^
@@ -110,7 +22,7 @@ LL |     for <item> in &vec {
    |         ^^^^^^    ^^^^
 
 error: the loop variable `j` is only used to index `STATIC`.
-  --> $DIR/needless_range_loop.rs:107:14
+  --> $DIR/needless_range_loop.rs:24:14
    |
 LL |     for j in 0..4 {
    |              ^^^^
@@ -121,7 +33,7 @@ LL |     for <item> in &STATIC {
    |         ^^^^^^    ^^^^^^^
 
 error: the loop variable `j` is only used to index `CONST`.
-  --> $DIR/needless_range_loop.rs:111:14
+  --> $DIR/needless_range_loop.rs:28:14
    |
 LL |     for j in 0..4 {
    |              ^^^^
@@ -132,7 +44,7 @@ LL |     for <item> in &CONST {
    |         ^^^^^^    ^^^^^^
 
 error: the loop variable `i` is used to index `vec`
-  --> $DIR/needless_range_loop.rs:115:14
+  --> $DIR/needless_range_loop.rs:32:14
    |
 LL |     for i in 0..vec.len() {
    |              ^^^^^^^^^^^^
@@ -143,7 +55,7 @@ LL |     for (i, <item>) in vec.iter().enumerate() {
    |         ^^^^^^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^
 
 error: the loop variable `i` is only used to index `vec2`.
-  --> $DIR/needless_range_loop.rs:123:14
+  --> $DIR/needless_range_loop.rs:40:14
    |
 LL |     for i in 0..vec.len() {
    |              ^^^^^^^^^^^^
@@ -154,7 +66,7 @@ LL |     for <item> in vec2.iter().take(vec.len()) {
    |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: the loop variable `i` is only used to index `vec`.
-  --> $DIR/needless_range_loop.rs:127:14
+  --> $DIR/needless_range_loop.rs:44:14
    |
 LL |     for i in 5..vec.len() {
    |              ^^^^^^^^^^^^
@@ -165,7 +77,7 @@ LL |     for <item> in vec.iter().skip(5) {
    |         ^^^^^^    ^^^^^^^^^^^^^^^^^^
 
 error: the loop variable `i` is only used to index `vec`.
-  --> $DIR/needless_range_loop.rs:131:14
+  --> $DIR/needless_range_loop.rs:48:14
    |
 LL |     for i in 0..MAX_LEN {
    |              ^^^^^^^^^^
@@ -176,7 +88,7 @@ LL |     for <item> in vec.iter().take(MAX_LEN) {
    |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: the loop variable `i` is only used to index `vec`.
-  --> $DIR/needless_range_loop.rs:135:14
+  --> $DIR/needless_range_loop.rs:52:14
    |
 LL |     for i in 0..=MAX_LEN {
    |              ^^^^^^^^^^^
@@ -187,7 +99,7 @@ LL |     for <item> in vec.iter().take(MAX_LEN + 1) {
    |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: the loop variable `i` is only used to index `vec`.
-  --> $DIR/needless_range_loop.rs:139:14
+  --> $DIR/needless_range_loop.rs:56:14
    |
 LL |     for i in 5..10 {
    |              ^^^^^
@@ -198,7 +110,7 @@ LL |     for <item> in vec.iter().take(10).skip(5) {
    |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: the loop variable `i` is only used to index `vec`.
-  --> $DIR/needless_range_loop.rs:143:14
+  --> $DIR/needless_range_loop.rs:60:14
    |
 LL |     for i in 5..=10 {
    |              ^^^^^^
@@ -209,7 +121,7 @@ LL |     for <item> in vec.iter().take(10 + 1).skip(5) {
    |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: the loop variable `i` is used to index `vec`
-  --> $DIR/needless_range_loop.rs:147:14
+  --> $DIR/needless_range_loop.rs:64:14
    |
 LL |     for i in 5..vec.len() {
    |              ^^^^^^^^^^^^
@@ -220,7 +132,7 @@ LL |     for (i, <item>) in vec.iter().enumerate().skip(5) {
    |         ^^^^^^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: the loop variable `i` is used to index `vec`
-  --> $DIR/needless_range_loop.rs:151:14
+  --> $DIR/needless_range_loop.rs:68:14
    |
 LL |     for i in 5..10 {
    |              ^^^^^
@@ -231,7 +143,7 @@ LL |     for (i, <item>) in vec.iter().enumerate().take(10).skip(5) {
    |         ^^^^^^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: the loop variable `i` is used to index `vec`
-  --> $DIR/needless_range_loop.rs:156:14
+  --> $DIR/needless_range_loop.rs:73:14
    |
 LL |     for i in 0..vec.len() {
    |              ^^^^^^^^^^^^
@@ -241,5 +153,5 @@ help: consider using an iterator
 LL |     for (i, <item>) in vec.iter_mut().enumerate() {
    |         ^^^^^^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: aborting due to 22 previous errors
+error: aborting due to 14 previous errors
 
diff --git a/tests/ui/needless_range_loop2.rs b/tests/ui/needless_range_loop2.rs
new file mode 100644
index 00000000000..2ed1b09bece
--- /dev/null
+++ b/tests/ui/needless_range_loop2.rs
@@ -0,0 +1,85 @@
+#![warn(clippy::needless_range_loop)]
+
+fn calc_idx(i: usize) -> usize {
+    (i + i + 20) % 4
+}
+
+fn main() {
+    let ns = vec![2, 3, 5, 7];
+
+    for i in 3..10 {
+        println!("{}", ns[i]);
+    }
+
+    for i in 3..10 {
+        println!("{}", ns[i % 4]);
+    }
+
+    for i in 3..10 {
+        println!("{}", ns[i % ns.len()]);
+    }
+
+    for i in 3..10 {
+        println!("{}", ns[calc_idx(i)]);
+    }
+
+    for i in 3..10 {
+        println!("{}", ns[calc_idx(i) % 4]);
+    }
+
+    let mut ms = vec![1, 2, 3, 4, 5, 6];
+    for i in 0..ms.len() {
+        ms[i] *= 2;
+    }
+    assert_eq!(ms, vec![2, 4, 6, 8, 10, 12]);
+
+    let mut ms = vec![1, 2, 3, 4, 5, 6];
+    for i in 0..ms.len() {
+        let x = &mut ms[i];
+        *x *= 2;
+    }
+    assert_eq!(ms, vec![2, 4, 6, 8, 10, 12]);
+
+    let g = vec![1, 2, 3, 4, 5, 6];
+    let glen = g.len();
+    for i in 0..glen {
+        let x: u32 = g[i + 1..].iter().sum();
+        println!("{}", g[i] + x);
+    }
+    assert_eq!(g, vec![20, 18, 15, 11, 6, 0]);
+
+    let mut g = vec![1, 2, 3, 4, 5, 6];
+    let glen = g.len();
+    for i in 0..glen {
+        g[i] = g[i + 1..].iter().sum();
+    }
+    assert_eq!(g, vec![20, 18, 15, 11, 6, 0]);
+
+    let x = 5;
+    let mut vec = vec![0; 9];
+
+    for i in x..x + 4 {
+        vec[i] += 1;
+    }
+
+    let x = 5;
+    let mut vec = vec![0; 10];
+
+    for i in x..=x + 4 {
+        vec[i] += 1;
+    }
+
+    let arr = [1, 2, 3];
+
+    for i in 0..3 {
+        println!("{}", arr[i]);
+    }
+
+    for i in 0..2 {
+        println!("{}", arr[i]);
+    }
+
+    for i in 1..3 {
+        println!("{}", arr[i]);
+    }
+}
diff --git a/tests/ui/needless_range_loop2.stderr b/tests/ui/needless_range_loop2.stderr
new file mode 100644
index 00000000000..c54ab5ec980
--- /dev/null
+++ b/tests/ui/needless_range_loop2.stderr
@@ -0,0 +1,91 @@
+error: the loop variable `i` is only used to index `ns`.
+  --> $DIR/needless_range_loop2.rs:10:14
+   |
+LL |     for i in 3..10 {
+   |              ^^^^^
+   |
+   = note: `-D clippy::needless-range-loop` implied by `-D warnings`
+help: consider using an iterator
+   |
+LL |     for <item> in ns.iter().take(10).skip(3) {
+   |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: the loop variable `i` is only used to index `ms`.
+  --> $DIR/needless_range_loop2.rs:31:14
+   |
+LL |     for i in 0..ms.len() {
+   |              ^^^^^^^^^^^
+   |
+help: consider using an iterator
+   |
+LL |     for <item> in &mut ms {
+   |         ^^^^^^    ^^^^^^^
+
+error: the loop variable `i` is only used to index `ms`.
+  --> $DIR/needless_range_loop2.rs:37:14
+   |
+LL |     for i in 0..ms.len() {
+   |              ^^^^^^^^^^^
+   |
+help: consider using an iterator
+   |
+LL |     for <item> in &mut ms {
+   |         ^^^^^^    ^^^^^^^
+
+error: the loop variable `i` is only used to index `vec`.
+  --> $DIR/needless_range_loop2.rs:61:14
+   |
+LL |     for i in x..x + 4 {
+   |              ^^^^^^^^
+   |
+help: consider using an iterator
+   |
+LL |     for <item> in vec.iter_mut().skip(x).take(4) {
+   |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: the loop variable `i` is only used to index `vec`.
+  --> $DIR/needless_range_loop2.rs:68:14
+   |
+LL |     for i in x..=x + 4 {
+   |              ^^^^^^^^^
+   |
+help: consider using an iterator
+   |
+LL |     for <item> in vec.iter_mut().skip(x).take(4 + 1) {
+   |         ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: the loop variable `i` is only used to index `arr`.
+  --> $DIR/needless_range_loop2.rs:74:14
+   |
+LL |     for i in 0..3 {
+   |              ^^^^
+   |
+help: consider using an iterator
+   |
+LL |     for <item> in &arr {
+   |         ^^^^^^    ^^^^
+
+error: the loop variable `i` is only used to index `arr`.
+  --> $DIR/needless_range_loop2.rs:78:14
+   |
+LL |     for i in 0..2 {
+   |              ^^^^
+   |
+help: consider using an iterator
+   |
+LL |     for <item> in arr.iter().take(2) {
+   |         ^^^^^^    ^^^^^^^^^^^^^^^^^^
+
+error: the loop variable `i` is only used to index `arr`.
+  --> $DIR/needless_range_loop2.rs:82:14
+   |
+LL |     for i in 1..3 {
+   |              ^^^^
+   |
+help: consider using an iterator
+   |
+LL |     for <item> in arr.iter().skip(1) {
+   |         ^^^^^^    ^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 8 previous errors
+