about summary refs log tree commit diff
path: root/tests/ui/default_instead_of_iter_empty.fixed
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-06-17 21:06:09 +0000
committerbors <bors@rust-lang.org>2022-06-17 21:06:09 +0000
commite933bb6bc3d7e15cbdbcbc44f7e94c2bde53c450 (patch)
treee7f704e55f0f8f3191b721fdd39395dc3e6cdd6b /tests/ui/default_instead_of_iter_empty.fixed
parentd7b5cbf065b88830ca519adcb73fad4c0d24b1c7 (diff)
parent2bb8c45026f0bfc244390f2d6cecc05cfa1f1171 (diff)
downloadrust-e933bb6bc3d7e15cbdbcbc44f7e94c2bde53c450.tar.gz
rust-e933bb6bc3d7e15cbdbcbc44f7e94c2bde53c450.zip
Auto merge of #8989 - kyoto7250:default_iter_empty, r=Alexendoo
feat(lint): add default_iter_empty

close #8915

This PR adds `default_iter_empty` lint.

This lint checks `std::iter::Empty::default()` and replace with `std::iter::empty()`.

Thank you in advance.

---

changelog: add `default_instead_of_iter_empty` lint.
Diffstat (limited to 'tests/ui/default_instead_of_iter_empty.fixed')
-rw-r--r--tests/ui/default_instead_of_iter_empty.fixed21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/default_instead_of_iter_empty.fixed b/tests/ui/default_instead_of_iter_empty.fixed
new file mode 100644
index 00000000000..f1abfdcd6ce
--- /dev/null
+++ b/tests/ui/default_instead_of_iter_empty.fixed
@@ -0,0 +1,21 @@
+// run-rustfix
+#![warn(clippy::default_instead_of_iter_empty)]
+#![allow(dead_code)]
+use std::collections::HashMap;
+
+#[derive(Default)]
+struct Iter {
+    iter: std::iter::Empty<usize>,
+}
+
+fn main() {
+    // Do lint.
+    let _ = std::iter::empty::<usize>();
+    let _ = std::iter::empty::<HashMap<usize, usize>>();
+    let _foo: std::iter::Empty<usize> = std::iter::empty();
+
+    // Do not lint.
+    let _ = Vec::<usize>::default();
+    let _ = String::default();
+    let _ = Iter::default();
+}