Skip to content

UI test cleanup: Extract needless_range_loop tests #4022

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 0 additions & 63 deletions tests/ui/for_loop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,70 +35,7 @@ impl Unrelated {
#[allow(clippy::many_single_char_names, unused_variables, clippy::into_iter_on_array)]
fn main() {
const MAX_LEN: usize = 42;

let mut vec = vec![1, 2, 3, 4];
let vec2 = vec![1, 2, 3, 4];
for i in 0..vec.len() {
println!("{}", vec[i]);
}

for i in 0..vec.len() {
let i = 42; // make a different `i`
println!("{}", vec[i]); // ok, not the `i` of the for-loop
}

for i in 0..vec.len() {
let _ = vec[i];
}

// ICE #746
for j in 0..4 {
println!("{:?}", STATIC[j]);
}

for j in 0..4 {
println!("{:?}", CONST[j]);
}

for i in 0..vec.len() {
println!("{} {}", vec[i], i);
}
for i in 0..vec.len() {
// not an error, indexing more than one variable
println!("{} {}", vec[i], vec2[i]);
}

for i in 0..vec.len() {
println!("{}", vec2[i]);
}

for i in 5..vec.len() {
println!("{}", vec[i]);
}

for i in 0..MAX_LEN {
println!("{}", vec[i]);
}

for i in 0..=MAX_LEN {
println!("{}", vec[i]);
}

for i in 5..10 {
println!("{}", vec[i]);
}

for i in 5..=10 {
println!("{}", vec[i]);
}

for i in 5..vec.len() {
println!("{} {}", vec[i], i);
}

for i in 5..10 {
println!("{} {}", vec[i], i);
}

for i in 10..0 {
println!("{}", i);
Expand Down
178 changes: 23 additions & 155 deletions tests/ui/for_loop.stderr
Original file line number Diff line number Diff line change
@@ -1,137 +1,5 @@
error: the loop variable `i` is only used to index `vec`.
--> $DIR/for_loop.rs:41: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/for_loop.rs:50:14
|
LL | for i in 0..vec.len() {
| ^^^^^^^^^^^^
help: consider using an iterator
|
LL | for <item> in &vec {
| ^^^^^^ ^^^^

error: the loop variable `j` is only used to index `STATIC`.
--> $DIR/for_loop.rs:55:14
|
LL | for j in 0..4 {
| ^^^^
help: consider using an iterator
|
LL | for <item> in &STATIC {
| ^^^^^^ ^^^^^^^

error: the loop variable `j` is only used to index `CONST`.
--> $DIR/for_loop.rs:59:14
|
LL | for j in 0..4 {
| ^^^^
help: consider using an iterator
|
LL | for <item> in &CONST {
| ^^^^^^ ^^^^^^

error: the loop variable `i` is used to index `vec`
--> $DIR/for_loop.rs:63:14
|
LL | for i in 0..vec.len() {
| ^^^^^^^^^^^^
help: consider using an iterator
|
LL | for (i, <item>) in vec.iter().enumerate() {
| ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^

error: the loop variable `i` is only used to index `vec2`.
--> $DIR/for_loop.rs:71:14
|
LL | for i in 0..vec.len() {
| ^^^^^^^^^^^^
help: consider using an iterator
|
LL | for <item> in vec2.iter().take(vec.len()) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: the loop variable `i` is only used to index `vec`.
--> $DIR/for_loop.rs:75:14
|
LL | for i in 5..vec.len() {
| ^^^^^^^^^^^^
help: consider using an iterator
|
LL | for <item> in vec.iter().skip(5) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^

error: the loop variable `i` is only used to index `vec`.
--> $DIR/for_loop.rs:79:14
|
LL | for i in 0..MAX_LEN {
| ^^^^^^^^^^
help: consider using an iterator
|
LL | for <item> in vec.iter().take(MAX_LEN) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^

error: the loop variable `i` is only used to index `vec`.
--> $DIR/for_loop.rs:83:14
|
LL | for i in 0..=MAX_LEN {
| ^^^^^^^^^^^
help: consider using an iterator
|
LL | for <item> in vec.iter().take(MAX_LEN + 1) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: the loop variable `i` is only used to index `vec`.
--> $DIR/for_loop.rs:87:14
|
LL | for i in 5..10 {
| ^^^^^
help: consider using an iterator
|
LL | for <item> in vec.iter().take(10).skip(5) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: the loop variable `i` is only used to index `vec`.
--> $DIR/for_loop.rs:91:14
|
LL | for i in 5..=10 {
| ^^^^^^
help: consider using an iterator
|
LL | for <item> in vec.iter().take(10 + 1).skip(5) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: the loop variable `i` is used to index `vec`
--> $DIR/for_loop.rs:95:14
|
LL | for i in 5..vec.len() {
| ^^^^^^^^^^^^
help: consider using an iterator
|
LL | for (i, <item>) in vec.iter().enumerate().skip(5) {
| ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: the loop variable `i` is used to index `vec`
--> $DIR/for_loop.rs:99:14
|
LL | for i in 5..10 {
| ^^^^^
help: consider using an iterator
|
LL | for (i, <item>) in vec.iter().enumerate().take(10).skip(5) {
| ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: this range is empty so this for loop will never run
--> $DIR/for_loop.rs:103:14
--> $DIR/for_loop.rs:40:14
|
LL | for i in 10..0 {
| ^^^^^
Expand All @@ -143,7 +11,7 @@ LL | for i in (0..10).rev() {
| ^^^^^^^^^^^^^

error: this range is empty so this for loop will never run
--> $DIR/for_loop.rs:107:14
--> $DIR/for_loop.rs:44:14
|
LL | for i in 10..=0 {
| ^^^^^^
Expand All @@ -153,7 +21,7 @@ LL | for i in (0...10).rev() {
| ^^^^^^^^^^^^^^

error: this range is empty so this for loop will never run
--> $DIR/for_loop.rs:111:14
--> $DIR/for_loop.rs:48:14
|
LL | for i in MAX_LEN..0 {
| ^^^^^^^^^^
Expand All @@ -163,13 +31,13 @@ LL | for i in (0..MAX_LEN).rev() {
| ^^^^^^^^^^^^^^^^^^

error: this range is empty so this for loop will never run
--> $DIR/for_loop.rs:115:14
--> $DIR/for_loop.rs:52:14
|
LL | for i in 5..5 {
| ^^^^

error: this range is empty so this for loop will never run
--> $DIR/for_loop.rs:140:14
--> $DIR/for_loop.rs:77:14
|
LL | for i in 10..5 + 4 {
| ^^^^^^^^^
Expand All @@ -179,7 +47,7 @@ LL | for i in (5 + 4..10).rev() {
| ^^^^^^^^^^^^^^^^^

error: this range is empty so this for loop will never run
--> $DIR/for_loop.rs:144:14
--> $DIR/for_loop.rs:81:14
|
LL | for i in (5 + 2)..(3 - 1) {
| ^^^^^^^^^^^^^^^^
Expand All @@ -189,108 +57,108 @@ LL | for i in ((3 - 1)..(5 + 2)).rev() {
| ^^^^^^^^^^^^^^^^^^^^^^^^

error: this range is empty so this for loop will never run
--> $DIR/for_loop.rs:148:14
--> $DIR/for_loop.rs:85:14
|
LL | for i in (5 + 2)..(8 - 1) {
| ^^^^^^^^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:170:15
--> $DIR/for_loop.rs:107:15
|
LL | for _v in vec.iter() {}
| ^^^^^^^^^^
|
= note: `-D clippy::explicit-iter-loop` implied by `-D warnings`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:172:15
--> $DIR/for_loop.rs:109:15
|
LL | for _v in vec.iter_mut() {}
| ^^^^^^^^^^^^^^

error: it is more concise to loop over containers instead of using explicit iteration methods`
--> $DIR/for_loop.rs:175:15
--> $DIR/for_loop.rs:112:15
|
LL | for _v in out_vec.into_iter() {}
| ^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::explicit-into-iter-loop` implied by `-D warnings`

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:178:15
--> $DIR/for_loop.rs:115:15
|
LL | for _v in array.into_iter() {}
| ^^^^^^^^^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:183:15
--> $DIR/for_loop.rs:120:15
|
LL | for _v in [1, 2, 3].iter() {}
| ^^^^^^^^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:187:15
--> $DIR/for_loop.rs:124:15
|
LL | for _v in [0; 32].iter() {}
| ^^^^^^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:192:15
--> $DIR/for_loop.rs:129:15
|
LL | for _v in ll.iter() {}
| ^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:195:15
--> $DIR/for_loop.rs:132:15
|
LL | for _v in vd.iter() {}
| ^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:198:15
--> $DIR/for_loop.rs:135:15
|
LL | for _v in bh.iter() {}
| ^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:201:15
--> $DIR/for_loop.rs:138:15
|
LL | for _v in hm.iter() {}
| ^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:204:15
--> $DIR/for_loop.rs:141:15
|
LL | for _v in bt.iter() {}
| ^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:207:15
--> $DIR/for_loop.rs:144:15
|
LL | for _v in hs.iter() {}
| ^^^^^^^^^

error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> $DIR/for_loop.rs:210:15
--> $DIR/for_loop.rs:147:15
|
LL | for _v in bs.iter() {}
| ^^^^^^^^^

error: you are iterating over `Iterator::next()` which is an Option; this will compile but is probably not what you want
--> $DIR/for_loop.rs:212:15
--> $DIR/for_loop.rs:149:15
|
LL | for _v in vec.iter().next() {}
| ^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::iter-next-loop` implied by `-D warnings`

error: you are collect()ing an iterator and throwing away the result. Consider using an explicit for loop to exhaust the iterator
--> $DIR/for_loop.rs:219:5
--> $DIR/for_loop.rs:156:5
|
LL | vec.iter().cloned().map(|x| out.push(x)).collect::<Vec<_>>();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::unused-collect` implied by `-D warnings`

error: aborting due to 35 previous errors
error: aborting due to 22 previous errors

Loading