about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPiti the little Light <djhlinacz@gmail.com>2020-09-10 20:18:23 +0200
committerflip1995 <philipp.krones@embecosm.com>2020-11-03 16:42:30 +0100
commit1b117f46296b5c15848d02a4433912a604cc9873 (patch)
tree698e0670bcc8cc7ae08e5826b9dbeeb2abc3fb14
parent9d6eedf5f2fccfc94f36473012794b2c679d3ad3 (diff)
downloadrust-1b117f46296b5c15848d02a4433912a604cc9873.tar.gz
rust-1b117f46296b5c15848d02a4433912a604cc9873.zip
Add tests for `from_iter_instead_of_collect`
-rw-r--r--tests/ui/from_iter_instead_of_collect.rs15
-rw-r--r--tests/ui/from_iter_instead_of_collect.stderr19
-rw-r--r--tests/ui/from_iter_instead_of_collect.stdout0
3 files changed, 34 insertions, 0 deletions
diff --git a/tests/ui/from_iter_instead_of_collect.rs b/tests/ui/from_iter_instead_of_collect.rs
new file mode 100644
index 00000000000..7a1bc64f4bd
--- /dev/null
+++ b/tests/ui/from_iter_instead_of_collect.rs
@@ -0,0 +1,15 @@
+#![warn(clippy::from_iter_instead_of_collect)]
+
+use std::collections::HashMap;
+use std::iter::FromIterator;
+
+fn main() {
+    {
+        let iter_expr = std::iter::repeat(5).take(5);
+
+        Vec::from_iter(iter_expr);
+        HashMap::<usize, &i8>::from_iter(vec![5, 5, 5, 5].iter().enumerate());
+        //let v: Vec<i32> = iter_expr.collect();
+        let a: Vec<i32> = Vec::new();
+    }
+}
diff --git a/tests/ui/from_iter_instead_of_collect.stderr b/tests/ui/from_iter_instead_of_collect.stderr
new file mode 100644
index 00000000000..4fadfb658fe
--- /dev/null
+++ b/tests/ui/from_iter_instead_of_collect.stderr
@@ -0,0 +1,19 @@
+error: use `.collect()` instead of `::from_iter()`
+  --> $DIR/from_iter_instead_of_collect.rs:10:5
+   |
+LL |     Vec::from_iter(iter_expr);
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `-D clippy::from-iter-instead-of-collect` implied by `-D warnings`
+   = help: consider using `iter_expr.collect()`
+
+error: use `.collect()` instead of `::from_iter()`
+  --> $DIR/from_iter_instead_of_collect.rs:11:5
+   |
+LL |     HashMap::<usize, &i8>::from_iter(vec![5,5,5,5].iter().enumerate());
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = help: consider using `vec![5,5,5,5].iter().enumerate().collect()`
+
+error: aborting due to 2 previous errors
+
diff --git a/tests/ui/from_iter_instead_of_collect.stdout b/tests/ui/from_iter_instead_of_collect.stdout
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/tests/ui/from_iter_instead_of_collect.stdout