From 19e852cd87e52e413fb8d6b6bd7f338dcc9237a6 Mon Sep 17 00:00:00 2001 From: flip1995 Date: Wed, 10 Apr 2019 10:07:48 +0200 Subject: [PATCH 1/2] Regression test for explicit_iter_loop --- tests/ui/explicit_iter_loop_no_sugg.rs | 7 +++++++ tests/ui/explicit_iter_loop_no_sugg.stderr | 14 ++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 tests/ui/explicit_iter_loop_no_sugg.rs create mode 100644 tests/ui/explicit_iter_loop_no_sugg.stderr diff --git a/tests/ui/explicit_iter_loop_no_sugg.rs b/tests/ui/explicit_iter_loop_no_sugg.rs new file mode 100644 index 000000000000..9316270855c6 --- /dev/null +++ b/tests/ui/explicit_iter_loop_no_sugg.rs @@ -0,0 +1,7 @@ +// Tracking issue: #3913 +#![deny(clippy::explicit_iter_loop)] + +fn main() { + let vec = vec![1]; + for _v in vec.iter() {} //~ ERROR change to `&vec` +} diff --git a/tests/ui/explicit_iter_loop_no_sugg.stderr b/tests/ui/explicit_iter_loop_no_sugg.stderr new file mode 100644 index 000000000000..f0d6f24f04d3 --- /dev/null +++ b/tests/ui/explicit_iter_loop_no_sugg.stderr @@ -0,0 +1,14 @@ +error: it is more concise to loop over references to containers instead of using explicit iteration methods + --> $DIR/explicit_iter_loop_no_sugg.rs:6:15 + | +LL | for _v in vec.iter() {} //~ ERROR change to `&vec` + | ^^^^^^^^^^ help: to write this more concisely, try: `&vec` + | +note: lint level defined here + --> $DIR/explicit_iter_loop_no_sugg.rs:2:9 + | +LL | #![deny(clippy::explicit_iter_loop)] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to previous error + From 2420eab4aad1e2a489be86af9f894aec24fe8a47 Mon Sep 17 00:00:00 2001 From: flip1995 Date: Wed, 10 Apr 2019 10:08:21 +0200 Subject: [PATCH 2/2] Regression test for into_iter_on_array --- tests/ui/into_iter_on_array_in_for_loop.rs | 6 ++++++ tests/ui/into_iter_on_array_in_for_loop.stderr | 14 ++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 tests/ui/into_iter_on_array_in_for_loop.rs create mode 100644 tests/ui/into_iter_on_array_in_for_loop.stderr diff --git a/tests/ui/into_iter_on_array_in_for_loop.rs b/tests/ui/into_iter_on_array_in_for_loop.rs new file mode 100644 index 000000000000..e91da3205039 --- /dev/null +++ b/tests/ui/into_iter_on_array_in_for_loop.rs @@ -0,0 +1,6 @@ +// Tracking issue: #3913 +#![deny(clippy::into_iter_on_array)] + +fn main() { + for _ in [1, 2, 3].into_iter() {} //~ ERROR equivalent to .iter() +} diff --git a/tests/ui/into_iter_on_array_in_for_loop.stderr b/tests/ui/into_iter_on_array_in_for_loop.stderr new file mode 100644 index 000000000000..8e95b525e4d6 --- /dev/null +++ b/tests/ui/into_iter_on_array_in_for_loop.stderr @@ -0,0 +1,14 @@ +error: this .into_iter() call is equivalent to .iter() and will not move the array + --> $DIR/into_iter_on_ref.rs:5:24 + | +LL | for _ in [1, 2, 3].into_iter() {} //~ ERROR equivalent to .iter() + | ^^^^^^^^^ help: call directly: `iter` + | + note: lint level defined here + --> $DIR/into_iter_on_ref.rs:2:9 + | +LL | #![deny(clippy::into_iter_on_array)] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to previous error +