mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-14 00:47:16 +00:00
Rustfmt for_loop.rs and add false positive tests
This commit is contained in:
parent
e4524ac4de
commit
b32631794a
2 changed files with 483 additions and 267 deletions
|
@ -27,7 +27,8 @@ fn for_loop_over_option_and_result() {
|
||||||
println!("{}", x);
|
println!("{}", x);
|
||||||
}
|
}
|
||||||
|
|
||||||
// make sure LOOP_OVER_NEXT lint takes precedence when next() is the last call in the chain
|
// make sure LOOP_OVER_NEXT lint takes precedence when next() is the last call
|
||||||
|
// in the chain
|
||||||
for x in v.iter().next() {
|
for x in v.iter().next() {
|
||||||
println!("{}", x);
|
println!("{}", x);
|
||||||
}
|
}
|
||||||
|
@ -72,7 +73,8 @@ impl Unrelated {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[warn(needless_range_loop, explicit_iter_loop, explicit_into_iter_loop, iter_next_loop, reverse_range_loop, explicit_counter_loop, for_kv_map)]
|
#[warn(needless_range_loop, explicit_iter_loop, explicit_into_iter_loop, iter_next_loop, reverse_range_loop,
|
||||||
|
explicit_counter_loop, for_kv_map)]
|
||||||
#[warn(unused_collect)]
|
#[warn(unused_collect)]
|
||||||
#[allow(linkedlist, shadow_unrelated, unnecessary_mut_passed, cyclomatic_complexity, similar_names)]
|
#[allow(linkedlist, shadow_unrelated, unnecessary_mut_passed, cyclomatic_complexity, similar_names)]
|
||||||
#[allow(many_single_char_names, unused_variables)]
|
#[allow(many_single_char_names, unused_variables)]
|
||||||
|
@ -90,7 +92,9 @@ fn main() {
|
||||||
println!("{}", vec[i]); // ok, not the `i` of the for-loop
|
println!("{}", vec[i]); // ok, not the `i` of the for-loop
|
||||||
}
|
}
|
||||||
|
|
||||||
for i in 0..vec.len() { let _ = vec[i]; }
|
for i in 0..vec.len() {
|
||||||
|
let _ = vec[i];
|
||||||
|
}
|
||||||
|
|
||||||
// ICE #746
|
// ICE #746
|
||||||
for j in 0..4 {
|
for j in 0..4 {
|
||||||
|
@ -104,7 +108,8 @@ fn main() {
|
||||||
for i in 0..vec.len() {
|
for i in 0..vec.len() {
|
||||||
println!("{} {}", vec[i], i);
|
println!("{} {}", vec[i], i);
|
||||||
}
|
}
|
||||||
for i in 0..vec.len() { // not an error, indexing more than one variable
|
for i in 0..vec.len() {
|
||||||
|
// not an error, indexing more than one variable
|
||||||
println!("{} {}", vec[i], vec2[i]);
|
println!("{} {}", vec[i], vec2[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,19 +161,23 @@ fn main() {
|
||||||
println!("{}", i);
|
println!("{}", i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for i in 5...5 { // not an error, this is the range with only one element “5”
|
for i in 5...5 {
|
||||||
|
// not an error, this is the range with only one element “5”
|
||||||
println!("{}", i);
|
println!("{}", i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for i in 0..10 { // not an error, the start index is less than the end index
|
for i in 0..10 {
|
||||||
|
// not an error, the start index is less than the end index
|
||||||
println!("{}", i);
|
println!("{}", i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for i in -10..0 { // not an error
|
for i in -10..0 {
|
||||||
|
// not an error
|
||||||
println!("{}", i);
|
println!("{}", i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for i in (10..0).map(|x| x * 2) { // not an error, it can't be known what arbitrary methods do to a range
|
for i in (10..0).map(|x| x * 2) {
|
||||||
|
// not an error, it can't be known what arbitrary methods do to a range
|
||||||
println!("{}", i);
|
println!("{}", i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,17 +194,20 @@ fn main() {
|
||||||
println!("{}", i);
|
println!("{}", i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for i in (2*2)..(2*3) { // no error, 4..6 is fine
|
for i in (2 * 2)..(2 * 3) {
|
||||||
|
// no error, 4..6 is fine
|
||||||
println!("{}", i);
|
println!("{}", i);
|
||||||
}
|
}
|
||||||
|
|
||||||
let x = 42;
|
let x = 42;
|
||||||
for i in x..10 { // no error, not constant-foldable
|
for i in x..10 {
|
||||||
|
// no error, not constant-foldable
|
||||||
println!("{}", i);
|
println!("{}", i);
|
||||||
}
|
}
|
||||||
|
|
||||||
// See #601
|
// See #601
|
||||||
for i in 0..10 { // no error, id_col does not exist outside the loop
|
for i in 0..10 {
|
||||||
|
// no error, id_col does not exist outside the loop
|
||||||
let mut id_col = vec![0f64; 10];
|
let mut id_col = vec![0f64; 10];
|
||||||
id_col[i] = 1f64;
|
id_col[i] = 1f64;
|
||||||
}
|
}
|
||||||
|
@ -254,65 +266,117 @@ fn main() {
|
||||||
|
|
||||||
// Loop with explicit counter variable
|
// Loop with explicit counter variable
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
for _v in &vec { _index += 1 }
|
for _v in &vec {
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 1;
|
let mut _index = 1;
|
||||||
_index = 0;
|
_index = 0;
|
||||||
for _v in &vec { _index += 1 }
|
for _v in &vec {
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
// Potential false positives
|
// Potential false positives
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
_index = 1;
|
_index = 1;
|
||||||
for _v in &vec { _index += 1 }
|
for _v in &vec {
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
_index += 1;
|
_index += 1;
|
||||||
for _v in &vec { _index += 1 }
|
for _v in &vec {
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
if true { _index = 1 }
|
if true {
|
||||||
for _v in &vec { _index += 1 }
|
_index = 1
|
||||||
|
}
|
||||||
|
for _v in &vec {
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
let mut _index = 1;
|
let mut _index = 1;
|
||||||
for _v in &vec { _index += 1 }
|
for _v in &vec {
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
for _v in &vec { _index += 1; _index += 1 }
|
for _v in &vec {
|
||||||
|
_index += 1;
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
for _v in &vec { _index *= 2; _index += 1 }
|
for _v in &vec {
|
||||||
|
_index *= 2;
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
for _v in &vec { _index = 1; _index += 1 }
|
for _v in &vec {
|
||||||
|
_index = 1;
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
|
|
||||||
for _v in &vec { let mut _index = 0; _index += 1 }
|
for _v in &vec {
|
||||||
|
let mut _index = 0;
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
for _v in &vec { _index += 1; _index = 0; }
|
for _v in &vec {
|
||||||
|
_index += 1;
|
||||||
|
_index = 0;
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
for _v in &vec { for _x in 0..1 { _index += 1; }; _index += 1 }
|
for _v in &vec {
|
||||||
|
for _x in 0..1 {
|
||||||
|
_index += 1;
|
||||||
|
}
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
for x in &vec { if *x == 1 { _index += 1 } }
|
for x in &vec {
|
||||||
|
if *x == 1 {
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 0;
|
let mut _index = 0;
|
||||||
if true { _index = 1 };
|
if true {
|
||||||
for _v in &vec { _index += 1 }
|
_index = 1
|
||||||
|
};
|
||||||
|
for _v in &vec {
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut _index = 1;
|
let mut _index = 1;
|
||||||
if false { _index = 0 };
|
if false {
|
||||||
for _v in &vec { _index += 1 }
|
_index = 0
|
||||||
|
};
|
||||||
|
for _v in &vec {
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut index = 0;
|
let mut index = 0;
|
||||||
{ let mut _x = &mut index; }
|
{
|
||||||
for _v in &vec { _index += 1 }
|
let mut _x = &mut index;
|
||||||
|
}
|
||||||
|
for _v in &vec {
|
||||||
|
_index += 1
|
||||||
|
}
|
||||||
|
|
||||||
let mut index = 0;
|
let mut index = 0;
|
||||||
for _v in &vec { index += 1 }
|
for _v in &vec {
|
||||||
|
index += 1
|
||||||
|
}
|
||||||
println!("index: {}", index);
|
println!("index: {}", index);
|
||||||
|
|
||||||
for_loop_over_option_and_result();
|
for_loop_over_option_and_result();
|
||||||
|
@ -325,7 +389,8 @@ fn main() {
|
||||||
let m: Rc<HashMap<u64, u64>> = Rc::new(HashMap::new());
|
let m: Rc<HashMap<u64, u64>> = Rc::new(HashMap::new());
|
||||||
for (_, v) in &*m {
|
for (_, v) in &*m {
|
||||||
let _v = v;
|
let _v = v;
|
||||||
// Here the `*` is not actually necesarry, but the test tests that we don't suggest
|
// Here the `*` is not actually necesarry, but the test tests that we don't
|
||||||
|
// suggest
|
||||||
// `in *m.values()` as we used to
|
// `in *m.values()` as we used to
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -347,8 +412,12 @@ fn main() {
|
||||||
|
|
||||||
test_for_kv_map();
|
test_for_kv_map();
|
||||||
|
|
||||||
fn f<T>(_: &T, _: &T) -> bool { unimplemented!() }
|
fn f<T>(_: &T, _: &T) -> bool {
|
||||||
fn g<T>(_: &mut [T], _: usize, _: usize) { unimplemented!() }
|
unimplemented!()
|
||||||
|
}
|
||||||
|
fn g<T>(_: &mut [T], _: usize, _: usize) {
|
||||||
|
unimplemented!()
|
||||||
|
}
|
||||||
for i in 1..vec.len() {
|
for i in 1..vec.len() {
|
||||||
if f(&vec[i - 1], &vec[i]) {
|
if f(&vec[i - 1], &vec[i]) {
|
||||||
g(&mut vec, i - 1, i);
|
g(&mut vec, i - 1, i);
|
||||||
|
@ -384,3 +453,91 @@ fn partition<T:PartialOrd+Send>(v: &mut [T]) -> usize {
|
||||||
v.swap(i, pivot);
|
v.swap(i, pivot);
|
||||||
i
|
i
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const LOOP_OFFSET: usize = 5000;
|
||||||
|
|
||||||
|
#[warn(needless_range_loop)]
|
||||||
|
pub fn manual_copy(src: &[i32], dst: &mut [i32], dst2: &mut [i32]) {
|
||||||
|
// plain manual memcpy
|
||||||
|
for i in 0..src.len() {
|
||||||
|
dst[i] = src[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// dst offset memcpy
|
||||||
|
for i in 0..src.len() {
|
||||||
|
dst[i + 10] = src[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// src offset memcpy
|
||||||
|
for i in 0..src.len() {
|
||||||
|
dst[i] = src[i + 10];
|
||||||
|
}
|
||||||
|
|
||||||
|
// src offset memcpy
|
||||||
|
for i in 11..src.len() {
|
||||||
|
dst[i] = src[i - 10];
|
||||||
|
}
|
||||||
|
|
||||||
|
// overwrite entire dst
|
||||||
|
for i in 0..dst.len() {
|
||||||
|
dst[i] = src[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// manual copy with branch - can't easily convert to memcpy!
|
||||||
|
for i in 0..src.len() {
|
||||||
|
dst[i] = src[i];
|
||||||
|
if dst[i] > 5 {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// multiple copies - suggest two memcpy statements
|
||||||
|
for i in 10..256 {
|
||||||
|
dst[i] = src[i - 5];
|
||||||
|
dst2[i + 500] = src[i]
|
||||||
|
}
|
||||||
|
|
||||||
|
// this is a reversal - the copy lint shouldn't be triggered
|
||||||
|
for i in 10..LOOP_OFFSET {
|
||||||
|
dst[i + LOOP_OFFSET] = src[LOOP_OFFSET - i];
|
||||||
|
}
|
||||||
|
|
||||||
|
let some_var = 5;
|
||||||
|
// Offset in variable
|
||||||
|
for i in 10..LOOP_OFFSET {
|
||||||
|
dst[i + LOOP_OFFSET] = src[i - some_var];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Non continuous copy - don't trigger lint
|
||||||
|
for i in 0..10 {
|
||||||
|
dst[i + i] = src[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
let src_vec = vec![1, 2, 3, 4, 5];
|
||||||
|
let mut dst_vec = vec![0, 0, 0, 0, 0];
|
||||||
|
|
||||||
|
// make sure vectors are supported
|
||||||
|
for i in 0..src_vec.len() {
|
||||||
|
dst_vec[i] = src_vec[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// lint should not trigger when either
|
||||||
|
// source or destination type is not
|
||||||
|
// slice-like, like DummyStruct
|
||||||
|
struct DummyStruct(i32);
|
||||||
|
|
||||||
|
impl ::std::ops::Index<usize> for DummyStruct {
|
||||||
|
type Output = i32;
|
||||||
|
|
||||||
|
fn index(&self, _: usize) -> &i32 {
|
||||||
|
&self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let src = DummyStruct(5);
|
||||||
|
let mut dst_vec = vec![0; 10];
|
||||||
|
|
||||||
|
for i in 0..10 {
|
||||||
|
dst_vec[i] = src[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -25,478 +25,537 @@ error: for loop over `option.ok_or("x not found")`, which is a `Result`. This is
|
||||||
= help: consider replacing `for x in option.ok_or("x not found")` with `if let Ok(x) = option.ok_or("x not found")`
|
= help: consider replacing `for x in option.ok_or("x not found")` with `if let Ok(x) = option.ok_or("x not found")`
|
||||||
|
|
||||||
error: you are iterating over `Iterator::next()` which is an Option; this will compile but is probably not what you want
|
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:31:5
|
--> $DIR/for_loop.rs:32:5
|
||||||
|
|
|
|
||||||
31 | / for x in v.iter().next() {
|
32 | / for x in v.iter().next() {
|
||||||
32 | | println!("{}", x);
|
33 | | println!("{}", x);
|
||||||
33 | | }
|
34 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
= note: `-D iter-next-loop` implied by `-D warnings`
|
= note: `-D iter-next-loop` implied by `-D warnings`
|
||||||
|
|
||||||
error: for loop over `v.iter().next().and(Some(0))`, which is an `Option`. This is more readably written as an `if let` statement.
|
error: for loop over `v.iter().next().and(Some(0))`, which is an `Option`. This is more readably written as an `if let` statement.
|
||||||
--> $DIR/for_loop.rs:36:14
|
--> $DIR/for_loop.rs:37:14
|
||||||
|
|
|
|
||||||
36 | for x in v.iter().next().and(Some(0)) {
|
37 | for x in v.iter().next().and(Some(0)) {
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
= help: consider replacing `for x in v.iter().next().and(Some(0))` with `if let Some(x) = v.iter().next().and(Some(0))`
|
= help: consider replacing `for x in v.iter().next().and(Some(0))` with `if let Some(x) = v.iter().next().and(Some(0))`
|
||||||
|
|
||||||
error: for loop over `v.iter().next().ok_or("x not found")`, which is a `Result`. This is more readably written as an `if let` statement.
|
error: for loop over `v.iter().next().ok_or("x not found")`, which is a `Result`. This is more readably written as an `if let` statement.
|
||||||
--> $DIR/for_loop.rs:40:14
|
--> $DIR/for_loop.rs:41:14
|
||||||
|
|
|
|
||||||
40 | for x in v.iter().next().ok_or("x not found") {
|
41 | for x in v.iter().next().ok_or("x not found") {
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
= help: consider replacing `for x in v.iter().next().ok_or("x not found")` with `if let Ok(x) = v.iter().next().ok_or("x not found")`
|
= help: consider replacing `for x in v.iter().next().ok_or("x not found")` with `if let Ok(x) = v.iter().next().ok_or("x not found")`
|
||||||
|
|
||||||
error: this loop never actually loops
|
error: this loop never actually loops
|
||||||
--> $DIR/for_loop.rs:52:5
|
--> $DIR/for_loop.rs:53:5
|
||||||
|
|
|
|
||||||
52 | / while let Some(x) = option {
|
53 | / while let Some(x) = option {
|
||||||
53 | | println!("{}", x);
|
54 | | println!("{}", x);
|
||||||
54 | | break;
|
55 | | break;
|
||||||
55 | | }
|
56 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
= note: `-D never-loop` implied by `-D warnings`
|
= note: `-D never-loop` implied by `-D warnings`
|
||||||
|
|
||||||
error: this loop never actually loops
|
error: this loop never actually loops
|
||||||
--> $DIR/for_loop.rs:58:5
|
--> $DIR/for_loop.rs:59:5
|
||||||
|
|
|
|
||||||
58 | / while let Ok(x) = result {
|
59 | / while let Ok(x) = result {
|
||||||
59 | | println!("{}", x);
|
60 | | println!("{}", x);
|
||||||
60 | | break;
|
61 | | break;
|
||||||
61 | | }
|
62 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
||||||
error: the loop variable `i` is only used to index `vec`.
|
error: the loop variable `i` is only used to index `vec`.
|
||||||
--> $DIR/for_loop.rs:84:5
|
--> $DIR/for_loop.rs:86:5
|
||||||
|
|
|
|
||||||
84 | / for i in 0..vec.len() {
|
86 | / for i in 0..vec.len() {
|
||||||
85 | | println!("{}", vec[i]);
|
87 | | println!("{}", vec[i]);
|
||||||
86 | | }
|
88 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
= note: `-D needless-range-loop` implied by `-D warnings`
|
= note: `-D needless-range-loop` implied by `-D warnings`
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
84 | for <item> in &vec {
|
86 | for <item> in &vec {
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: the loop variable `i` is only used to index `vec`.
|
error: the loop variable `i` is only used to index `vec`.
|
||||||
--> $DIR/for_loop.rs:93:5
|
--> $DIR/for_loop.rs:95:5
|
||||||
|
|
|
|
||||||
93 | for i in 0..vec.len() { let _ = vec[i]; }
|
95 | / for i in 0..vec.len() {
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
96 | | let _ = vec[i];
|
||||||
|
|
97 | | }
|
||||||
help: consider using an iterator
|
|
||||||
|
|
|
||||||
93 | for <item> in &vec { let _ = vec[i]; }
|
|
||||||
| ^^^^^^
|
|
||||||
|
|
||||||
error: the loop variable `j` is only used to index `STATIC`.
|
|
||||||
--> $DIR/for_loop.rs:96:5
|
|
||||||
|
|
|
||||||
96 | / for j in 0..4 {
|
|
||||||
97 | | println!("{:?}", STATIC[j]);
|
|
||||||
98 | | }
|
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
96 | for <item> in STATIC.iter().take(4) {
|
95 | for <item> in &vec {
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: the loop variable `j` is only used to index `CONST`.
|
error: the loop variable `j` is only used to index `STATIC`.
|
||||||
--> $DIR/for_loop.rs:100:5
|
--> $DIR/for_loop.rs:100:5
|
||||||
|
|
|
|
||||||
100 | / for j in 0..4 {
|
100 | / for j in 0..4 {
|
||||||
101 | | println!("{:?}", CONST[j]);
|
101 | | println!("{:?}", STATIC[j]);
|
||||||
102 | | }
|
102 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
100 | for <item> in CONST.iter().take(4) {
|
100 | for <item> in STATIC.iter().take(4) {
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: the loop variable `i` is used to index `vec`
|
error: the loop variable `j` is only used to index `CONST`.
|
||||||
--> $DIR/for_loop.rs:104:5
|
--> $DIR/for_loop.rs:104:5
|
||||||
|
|
|
|
||||||
104 | / for i in 0..vec.len() {
|
104 | / for j in 0..4 {
|
||||||
105 | | println!("{} {}", vec[i], i);
|
105 | | println!("{:?}", CONST[j]);
|
||||||
106 | | }
|
106 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
104 | for (i, <item>) in vec.iter().enumerate() {
|
104 | for <item> in CONST.iter().take(4) {
|
||||||
|
| ^^^^^^
|
||||||
|
|
||||||
|
error: the loop variable `i` is used to index `vec`
|
||||||
|
--> $DIR/for_loop.rs:108:5
|
||||||
|
|
|
||||||
|
108 | / for i in 0..vec.len() {
|
||||||
|
109 | | println!("{} {}", vec[i], i);
|
||||||
|
110 | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
help: consider using an iterator
|
||||||
|
|
|
||||||
|
108 | for (i, <item>) in vec.iter().enumerate() {
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
error: the loop variable `i` is only used to index `vec2`.
|
error: the loop variable `i` is only used to index `vec2`.
|
||||||
--> $DIR/for_loop.rs:111:5
|
--> $DIR/for_loop.rs:116:5
|
||||||
|
|
|
|
||||||
111 | / for i in 0..vec.len() {
|
116 | / for i in 0..vec.len() {
|
||||||
112 | | println!("{}", vec2[i]);
|
117 | | println!("{}", vec2[i]);
|
||||||
113 | | }
|
118 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
111 | for <item> in vec2.iter().take(vec.len()) {
|
116 | for <item> in vec2.iter().take(vec.len()) {
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: the loop variable `i` is only used to index `vec`.
|
error: the loop variable `i` is only used to index `vec`.
|
||||||
--> $DIR/for_loop.rs:115:5
|
--> $DIR/for_loop.rs:120:5
|
||||||
|
|
|
|
||||||
115 | / for i in 5..vec.len() {
|
120 | / for i in 5..vec.len() {
|
||||||
116 | | println!("{}", vec[i]);
|
121 | | println!("{}", vec[i]);
|
||||||
117 | | }
|
122 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
115 | for <item> in vec.iter().skip(5) {
|
120 | for <item> in vec.iter().skip(5) {
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: the loop variable `i` is only used to index `vec`.
|
error: the loop variable `i` is only used to index `vec`.
|
||||||
--> $DIR/for_loop.rs:119:5
|
--> $DIR/for_loop.rs:124:5
|
||||||
|
|
|
|
||||||
119 | / for i in 0..MAX_LEN {
|
124 | / for i in 0..MAX_LEN {
|
||||||
120 | | println!("{}", vec[i]);
|
125 | | println!("{}", vec[i]);
|
||||||
121 | | }
|
126 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
119 | for <item> in vec.iter().take(MAX_LEN) {
|
124 | for <item> in vec.iter().take(MAX_LEN) {
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: the loop variable `i` is only used to index `vec`.
|
error: the loop variable `i` is only used to index `vec`.
|
||||||
--> $DIR/for_loop.rs:123:5
|
--> $DIR/for_loop.rs:128:5
|
||||||
|
|
|
|
||||||
123 | / for i in 0...MAX_LEN {
|
128 | / for i in 0...MAX_LEN {
|
||||||
124 | | println!("{}", vec[i]);
|
129 | | println!("{}", vec[i]);
|
||||||
125 | | }
|
130 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
123 | for <item> in vec.iter().take(MAX_LEN + 1) {
|
128 | for <item> in vec.iter().take(MAX_LEN + 1) {
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: the loop variable `i` is only used to index `vec`.
|
error: the loop variable `i` is only used to index `vec`.
|
||||||
--> $DIR/for_loop.rs:127:5
|
--> $DIR/for_loop.rs:132:5
|
||||||
|
|
|
|
||||||
127 | / for i in 5..10 {
|
132 | / for i in 5..10 {
|
||||||
128 | | println!("{}", vec[i]);
|
133 | | println!("{}", vec[i]);
|
||||||
129 | | }
|
134 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
127 | for <item> in vec.iter().take(10).skip(5) {
|
132 | for <item> in vec.iter().take(10).skip(5) {
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: the loop variable `i` is only used to index `vec`.
|
error: the loop variable `i` is only used to index `vec`.
|
||||||
--> $DIR/for_loop.rs:131:5
|
--> $DIR/for_loop.rs:136:5
|
||||||
|
|
|
|
||||||
131 | / for i in 5...10 {
|
136 | / for i in 5...10 {
|
||||||
132 | | println!("{}", vec[i]);
|
137 | | println!("{}", vec[i]);
|
||||||
133 | | }
|
138 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
131 | for <item> in vec.iter().take(10 + 1).skip(5) {
|
136 | for <item> in vec.iter().take(10 + 1).skip(5) {
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: the loop variable `i` is used to index `vec`
|
error: the loop variable `i` is used to index `vec`
|
||||||
--> $DIR/for_loop.rs:135:5
|
--> $DIR/for_loop.rs:140:5
|
||||||
|
|
|
|
||||||
135 | / for i in 5..vec.len() {
|
140 | / for i in 5..vec.len() {
|
||||||
136 | | println!("{} {}", vec[i], i);
|
141 | | println!("{} {}", vec[i], i);
|
||||||
137 | | }
|
142 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
135 | for (i, <item>) in vec.iter().enumerate().skip(5) {
|
140 | for (i, <item>) in vec.iter().enumerate().skip(5) {
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
error: the loop variable `i` is used to index `vec`
|
error: the loop variable `i` is used to index `vec`
|
||||||
--> $DIR/for_loop.rs:139:5
|
--> $DIR/for_loop.rs:144:5
|
||||||
|
|
|
|
||||||
139 | / for i in 5..10 {
|
144 | / for i in 5..10 {
|
||||||
140 | | println!("{} {}", vec[i], i);
|
145 | | println!("{} {}", vec[i], i);
|
||||||
141 | | }
|
146 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using an iterator
|
help: consider using an iterator
|
||||||
|
|
|
|
||||||
139 | for (i, <item>) in vec.iter().enumerate().take(10).skip(5) {
|
144 | for (i, <item>) in vec.iter().enumerate().take(10).skip(5) {
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
error: this range is empty so this for loop will never run
|
error: this range is empty so this for loop will never run
|
||||||
--> $DIR/for_loop.rs:143:5
|
--> $DIR/for_loop.rs:148:5
|
||||||
|
|
|
|
||||||
143 | / for i in 10..0 {
|
148 | / for i in 10..0 {
|
||||||
144 | | println!("{}", i);
|
149 | | println!("{}", i);
|
||||||
145 | | }
|
150 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
= note: `-D reverse-range-loop` implied by `-D warnings`
|
= note: `-D reverse-range-loop` implied by `-D warnings`
|
||||||
help: consider using the following if you are attempting to iterate over this range in reverse
|
help: consider using the following if you are attempting to iterate over this range in reverse
|
||||||
|
|
|
|
||||||
143 | for i in (0..10).rev() {
|
148 | for i in (0..10).rev() {
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: this range is empty so this for loop will never run
|
error: this range is empty so this for loop will never run
|
||||||
--> $DIR/for_loop.rs:147:5
|
--> $DIR/for_loop.rs:152:5
|
||||||
|
|
|
|
||||||
147 | / for i in 10...0 {
|
152 | / for i in 10...0 {
|
||||||
148 | | println!("{}", i);
|
153 | | println!("{}", i);
|
||||||
149 | | }
|
154 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using the following if you are attempting to iterate over this range in reverse
|
help: consider using the following if you are attempting to iterate over this range in reverse
|
||||||
|
|
|
|
||||||
147 | for i in (0...10).rev() {
|
152 | for i in (0...10).rev() {
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: this range is empty so this for loop will never run
|
error: this range is empty so this for loop will never run
|
||||||
--> $DIR/for_loop.rs:151:5
|
--> $DIR/for_loop.rs:156:5
|
||||||
|
|
|
|
||||||
151 | / for i in MAX_LEN..0 {
|
156 | / for i in MAX_LEN..0 {
|
||||||
152 | | println!("{}", i);
|
157 | | println!("{}", i);
|
||||||
153 | | }
|
158 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using the following if you are attempting to iterate over this range in reverse
|
help: consider using the following if you are attempting to iterate over this range in reverse
|
||||||
|
|
|
|
||||||
151 | for i in (0..MAX_LEN).rev() {
|
156 | for i in (0..MAX_LEN).rev() {
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: this range is empty so this for loop will never run
|
error: this range is empty so this for loop will never run
|
||||||
--> $DIR/for_loop.rs:155:5
|
--> $DIR/for_loop.rs:160:5
|
||||||
|
|
|
|
||||||
155 | / for i in 5..5 {
|
160 | / for i in 5..5 {
|
||||||
156 | | println!("{}", i);
|
161 | | println!("{}", i);
|
||||||
157 | | }
|
162 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
||||||
error: this range is empty so this for loop will never run
|
error: this range is empty so this for loop will never run
|
||||||
--> $DIR/for_loop.rs:176:5
|
--> $DIR/for_loop.rs:185:5
|
||||||
|
|
|
|
||||||
176 | / for i in 10..5+4 {
|
185 | / for i in 10..5 + 4 {
|
||||||
177 | | println!("{}", i);
|
186 | | println!("{}", i);
|
||||||
178 | | }
|
187 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using the following if you are attempting to iterate over this range in reverse
|
help: consider using the following if you are attempting to iterate over this range in reverse
|
||||||
|
|
|
|
||||||
176 | for i in (5+4..10).rev() {
|
185 | for i in (5 + 4..10).rev() {
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: this range is empty so this for loop will never run
|
error: this range is empty so this for loop will never run
|
||||||
--> $DIR/for_loop.rs:180:5
|
--> $DIR/for_loop.rs:189:5
|
||||||
|
|
|
|
||||||
180 | / for i in (5+2)..(3-1) {
|
189 | / for i in (5 + 2)..(3 - 1) {
|
||||||
181 | | println!("{}", i);
|
190 | | println!("{}", i);
|
||||||
182 | | }
|
191 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: consider using the following if you are attempting to iterate over this range in reverse
|
help: consider using the following if you are attempting to iterate over this range in reverse
|
||||||
|
|
|
|
||||||
180 | for i in ((3-1)..(5+2)).rev() {
|
189 | for i in ((3 - 1)..(5 + 2)).rev() {
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: this range is empty so this for loop will never run
|
error: this range is empty so this for loop will never run
|
||||||
--> $DIR/for_loop.rs:184:5
|
--> $DIR/for_loop.rs:193:5
|
||||||
|
|
|
|
||||||
184 | / for i in (5+2)..(8-1) {
|
193 | / for i in (5 + 2)..(8 - 1) {
|
||||||
185 | | println!("{}", i);
|
194 | | println!("{}", i);
|
||||||
186 | | }
|
195 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
--> $DIR/for_loop.rs:203:15
|
--> $DIR/for_loop.rs:215:15
|
||||||
|
|
|
|
||||||
203 | for _v in vec.iter() { }
|
215 | for _v in vec.iter() {}
|
||||||
| ^^^^^^^^^^ help: to write this more concisely, try: `&vec`
|
| ^^^^^^^^^^ help: to write this more concisely, try: `&vec`
|
||||||
|
|
|
|
||||||
= note: `-D explicit-iter-loop` implied by `-D warnings`
|
= note: `-D explicit-iter-loop` implied by `-D warnings`
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
--> $DIR/for_loop.rs:205:15
|
--> $DIR/for_loop.rs:217:15
|
||||||
|
|
|
|
||||||
205 | for _v in vec.iter_mut() { }
|
217 | for _v in vec.iter_mut() {}
|
||||||
| ^^^^^^^^^^^^^^ help: to write this more concisely, try: `&mut vec`
|
| ^^^^^^^^^^^^^^ help: to write this more concisely, try: `&mut vec`
|
||||||
|
|
||||||
error: it is more idiomatic to loop over containers instead of using explicit iteration methods`
|
error: it is more idiomatic to loop over containers instead of using explicit iteration methods`
|
||||||
--> $DIR/for_loop.rs:208:15
|
--> $DIR/for_loop.rs:220:15
|
||||||
|
|
|
|
||||||
208 | for _v in out_vec.into_iter() { }
|
220 | for _v in out_vec.into_iter() {}
|
||||||
| ^^^^^^^^^^^^^^^^^^^ help: to write this more concisely, try: `out_vec`
|
| ^^^^^^^^^^^^^^^^^^^ help: to write this more concisely, try: `out_vec`
|
||||||
|
|
|
|
||||||
= note: `-D explicit-into-iter-loop` implied by `-D warnings`
|
= note: `-D explicit-into-iter-loop` implied by `-D warnings`
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
--> $DIR/for_loop.rs:211:15
|
--> $DIR/for_loop.rs:223:15
|
||||||
|
|
|
|
||||||
211 | for _v in array.into_iter() {}
|
223 | for _v in array.into_iter() {}
|
||||||
| ^^^^^^^^^^^^^^^^^ help: to write this more concisely, try: `&array`
|
| ^^^^^^^^^^^^^^^^^ help: to write this more concisely, try: `&array`
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
|
||||||
--> $DIR/for_loop.rs:216:15
|
|
||||||
|
|
|
||||||
216 | for _v in [1, 2, 3].iter() { }
|
|
||||||
| ^^^^^^^^^^^^^^^^ help: to write this more concisely, try: `&[1, 2, 3]`
|
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
|
||||||
--> $DIR/for_loop.rs:220:15
|
|
||||||
|
|
|
||||||
220 | for _v in [0; 32].iter() {}
|
|
||||||
| ^^^^^^^^^^^^^^ help: to write this more concisely, try: `&[0; 32]`
|
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
|
||||||
--> $DIR/for_loop.rs:225:15
|
|
||||||
|
|
|
||||||
225 | for _v in ll.iter() { }
|
|
||||||
| ^^^^^^^^^ help: to write this more concisely, try: `&ll`
|
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
--> $DIR/for_loop.rs:228:15
|
--> $DIR/for_loop.rs:228:15
|
||||||
|
|
|
|
||||||
228 | for _v in vd.iter() { }
|
228 | for _v in [1, 2, 3].iter() {}
|
||||||
| ^^^^^^^^^ help: to write this more concisely, try: `&vd`
|
| ^^^^^^^^^^^^^^^^ help: to write this more concisely, try: `&[1, 2, 3]`
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
--> $DIR/for_loop.rs:231:15
|
--> $DIR/for_loop.rs:232:15
|
||||||
|
|
|
|
||||||
231 | for _v in bh.iter() { }
|
232 | for _v in [0; 32].iter() {}
|
||||||
| ^^^^^^^^^ help: to write this more concisely, try: `&bh`
|
| ^^^^^^^^^^^^^^ help: to write this more concisely, try: `&[0; 32]`
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
|
||||||
--> $DIR/for_loop.rs:234:15
|
|
||||||
|
|
|
||||||
234 | for _v in hm.iter() { }
|
|
||||||
| ^^^^^^^^^ help: to write this more concisely, try: `&hm`
|
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
--> $DIR/for_loop.rs:237:15
|
--> $DIR/for_loop.rs:237:15
|
||||||
|
|
|
|
||||||
237 | for _v in bt.iter() { }
|
237 | for _v in ll.iter() {}
|
||||||
| ^^^^^^^^^ help: to write this more concisely, try: `&bt`
|
| ^^^^^^^^^ help: to write this more concisely, try: `&ll`
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
--> $DIR/for_loop.rs:240:15
|
--> $DIR/for_loop.rs:240:15
|
||||||
|
|
|
|
||||||
240 | for _v in hs.iter() { }
|
240 | for _v in vd.iter() {}
|
||||||
| ^^^^^^^^^ help: to write this more concisely, try: `&hs`
|
| ^^^^^^^^^ help: to write this more concisely, try: `&vd`
|
||||||
|
|
||||||
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
--> $DIR/for_loop.rs:243:15
|
--> $DIR/for_loop.rs:243:15
|
||||||
|
|
|
|
||||||
243 | for _v in bs.iter() { }
|
243 | for _v in bh.iter() {}
|
||||||
|
| ^^^^^^^^^ help: to write this more concisely, try: `&bh`
|
||||||
|
|
||||||
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
|
--> $DIR/for_loop.rs:246:15
|
||||||
|
|
|
||||||
|
246 | for _v in hm.iter() {}
|
||||||
|
| ^^^^^^^^^ help: to write this more concisely, try: `&hm`
|
||||||
|
|
||||||
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
|
--> $DIR/for_loop.rs:249:15
|
||||||
|
|
|
||||||
|
249 | for _v in bt.iter() {}
|
||||||
|
| ^^^^^^^^^ help: to write this more concisely, try: `&bt`
|
||||||
|
|
||||||
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
|
--> $DIR/for_loop.rs:252:15
|
||||||
|
|
|
||||||
|
252 | for _v in hs.iter() {}
|
||||||
|
| ^^^^^^^^^ help: to write this more concisely, try: `&hs`
|
||||||
|
|
||||||
|
error: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
|
||||||
|
--> $DIR/for_loop.rs:255:15
|
||||||
|
|
|
||||||
|
255 | for _v in bs.iter() {}
|
||||||
| ^^^^^^^^^ help: to write this more concisely, try: `&bs`
|
| ^^^^^^^^^ help: to write this more concisely, try: `&bs`
|
||||||
|
|
||||||
error: you are iterating over `Iterator::next()` which is an Option; this will compile but is probably not what you want
|
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:245:5
|
--> $DIR/for_loop.rs:257:5
|
||||||
|
|
|
|
||||||
245 | for _v in vec.iter().next() { }
|
257 | for _v in vec.iter().next() {}
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: you are collect()ing an iterator and throwing away the result. Consider using an explicit for loop to exhaust the iterator
|
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:252:5
|
--> $DIR/for_loop.rs:264:5
|
||||||
|
|
|
|
||||||
252 | vec.iter().cloned().map(|x| out.push(x)).collect::<Vec<_>>();
|
264 | vec.iter().cloned().map(|x| out.push(x)).collect::<Vec<_>>();
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: `-D unused-collect` implied by `-D warnings`
|
= note: `-D unused-collect` implied by `-D warnings`
|
||||||
|
|
||||||
error: the variable `_index` is used as a loop counter. Consider using `for (_index, item) in &vec.enumerate()` or similar iterators
|
error: the variable `_index` is used as a loop counter. Consider using `for (_index, item) in &vec.enumerate()` or similar iterators
|
||||||
--> $DIR/for_loop.rs:257:5
|
--> $DIR/for_loop.rs:269:5
|
||||||
|
|
|
|
||||||
257 | for _v in &vec { _index += 1 }
|
269 | / for _v in &vec {
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
270 | | _index += 1
|
||||||
|
271 | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
|
||||||
= note: `-D explicit-counter-loop` implied by `-D warnings`
|
= note: `-D explicit-counter-loop` implied by `-D warnings`
|
||||||
|
|
||||||
error: the variable `_index` is used as a loop counter. Consider using `for (_index, item) in &vec.enumerate()` or similar iterators
|
error: the variable `_index` is used as a loop counter. Consider using `for (_index, item) in &vec.enumerate()` or similar iterators
|
||||||
--> $DIR/for_loop.rs:261:5
|
--> $DIR/for_loop.rs:275:5
|
||||||
|
|
|
|
||||||
261 | for _v in &vec { _index += 1 }
|
275 | / for _v in &vec {
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
276 | | _index += 1
|
||||||
|
277 | | }
|
||||||
|
| |_____^
|
||||||
|
|
||||||
error: you seem to want to iterate on a map's values
|
error: you seem to want to iterate on a map's values
|
||||||
--> $DIR/for_loop.rs:321:5
|
--> $DIR/for_loop.rs:385:5
|
||||||
|
|
|
|
||||||
321 | / for (_, v) in &m {
|
385 | / for (_, v) in &m {
|
||||||
322 | | let _v = v;
|
386 | | let _v = v;
|
||||||
323 | | }
|
387 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
= note: `-D for-kv-map` implied by `-D warnings`
|
= note: `-D for-kv-map` implied by `-D warnings`
|
||||||
help: use the corresponding method
|
help: use the corresponding method
|
||||||
|
|
|
|
||||||
321 | for v in m.values() {
|
385 | for v in m.values() {
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: you seem to want to iterate on a map's values
|
error: you seem to want to iterate on a map's values
|
||||||
--> $DIR/for_loop.rs:326:5
|
--> $DIR/for_loop.rs:390:5
|
||||||
|
|
|
|
||||||
326 | / for (_, v) in &*m {
|
390 | / for (_, v) in &*m {
|
||||||
327 | | let _v = v;
|
391 | | let _v = v;
|
||||||
328 | | // Here the `*` is not actually necesarry, but the test tests that we don't suggest
|
392 | | // Here the `*` is not actually necesarry, but the test tests that we don't
|
||||||
329 | | // `in *m.values()` as we used to
|
393 | | // suggest
|
||||||
330 | | }
|
394 | | // `in *m.values()` as we used to
|
||||||
|
395 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: use the corresponding method
|
help: use the corresponding method
|
||||||
|
|
|
|
||||||
326 | for v in (*m).values() {
|
390 | for v in (*m).values() {
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: you seem to want to iterate on a map's values
|
error: you seem to want to iterate on a map's values
|
||||||
--> $DIR/for_loop.rs:333:5
|
--> $DIR/for_loop.rs:398:5
|
||||||
|
|
|
|
||||||
333 | / for (_, v) in &mut m {
|
398 | / for (_, v) in &mut m {
|
||||||
334 | | let _v = v;
|
399 | | let _v = v;
|
||||||
335 | | }
|
400 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: use the corresponding method
|
help: use the corresponding method
|
||||||
|
|
|
|
||||||
333 | for v in m.values_mut() {
|
398 | for v in m.values_mut() {
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: you seem to want to iterate on a map's values
|
error: you seem to want to iterate on a map's values
|
||||||
--> $DIR/for_loop.rs:338:5
|
--> $DIR/for_loop.rs:403:5
|
||||||
|
|
|
|
||||||
338 | / for (_, v) in &mut *m {
|
403 | / for (_, v) in &mut *m {
|
||||||
339 | | let _v = v;
|
404 | | let _v = v;
|
||||||
340 | | }
|
405 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: use the corresponding method
|
help: use the corresponding method
|
||||||
|
|
|
|
||||||
338 | for v in (*m).values_mut() {
|
403 | for v in (*m).values_mut() {
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: you seem to want to iterate on a map's keys
|
error: you seem to want to iterate on a map's keys
|
||||||
--> $DIR/for_loop.rs:344:5
|
--> $DIR/for_loop.rs:409:5
|
||||||
|
|
|
|
||||||
344 | / for (k, _value) in rm {
|
409 | / for (k, _value) in rm {
|
||||||
345 | | let _k = k;
|
410 | | let _k = k;
|
||||||
346 | | }
|
411 | | }
|
||||||
| |_____^
|
| |_____^
|
||||||
|
|
|
|
||||||
help: use the corresponding method
|
help: use the corresponding method
|
||||||
|
|
|
|
||||||
344 | for k in rm.keys() {
|
409 | for k in rm.keys() {
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: aborting due to 50 previous errors
|
error: the loop variable `i` is used to index `src`
|
||||||
|
--> $DIR/for_loop.rs:467:5
|
||||||
|
|
|
||||||
|
467 | / for i in 0..src.len() {
|
||||||
|
468 | | dst[i + 10] = src[i];
|
||||||
|
469 | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
help: consider using an iterator
|
||||||
|
|
|
||||||
|
467 | for (i, <item>) in src.iter().enumerate() {
|
||||||
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: the loop variable `i` is used to index `dst`
|
||||||
|
--> $DIR/for_loop.rs:472:5
|
||||||
|
|
|
||||||
|
472 | / for i in 0..src.len() {
|
||||||
|
473 | | dst[i] = src[i + 10];
|
||||||
|
474 | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
help: consider using an iterator
|
||||||
|
|
|
||||||
|
472 | for (i, <item>) in dst.iter().enumerate().take(src.len()) {
|
||||||
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: the loop variable `i` is used to index `dst`
|
||||||
|
--> $DIR/for_loop.rs:477:5
|
||||||
|
|
|
||||||
|
477 | / for i in 11..src.len() {
|
||||||
|
478 | | dst[i] = src[i - 10];
|
||||||
|
479 | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
help: consider using an iterator
|
||||||
|
|
|
||||||
|
477 | for (i, <item>) in dst.iter().enumerate().take(src.len()).skip(11) {
|
||||||
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: the loop variable `i` is used to index `src`
|
||||||
|
--> $DIR/for_loop.rs:512:5
|
||||||
|
|
|
||||||
|
512 | / for i in 0..10 {
|
||||||
|
513 | | dst[i + i] = src[i];
|
||||||
|
514 | | }
|
||||||
|
| |_____^
|
||||||
|
|
|
||||||
|
help: consider using an iterator
|
||||||
|
|
|
||||||
|
512 | for (i, <item>) in src.iter().enumerate().take(10) {
|
||||||
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: aborting due to 54 previous errors
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue