about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Schubart <michael@schubart.net>2023-02-28 22:08:15 +0000
committerMichael Schubart <michael@schubart.net>2023-02-28 22:09:04 +0000
commitfbb7fd59c35095645fafc17ba573817cef68ffcf (patch)
tree9a524b4f7794f3706f78ae309f1d61b7a7d82d19
parentcb3bb8a5b5449f330cba8544a30d1f7e1d5f16d3 (diff)
downloadrust-fbb7fd59c35095645fafc17ba573817cef68ffcf.tar.gz
rust-fbb7fd59c35095645fafc17ba573817cef68ffcf.zip
Add test for an interesting edge case
-rw-r--r--tests/ui/collection_is_never_read.rs9
-rw-r--r--tests/ui/collection_is_never_read.stderr8
2 files changed, 15 insertions, 2 deletions
diff --git a/tests/ui/collection_is_never_read.rs b/tests/ui/collection_is_never_read.rs
index 28ec4bf0aeb..8f5ceb06b89 100644
--- a/tests/ui/collection_is_never_read.rs
+++ b/tests/ui/collection_is_never_read.rs
@@ -1,7 +1,7 @@
 #![allow(unused)]
 #![warn(clippy::collection_is_never_read)]
 
-use std::collections::{HashSet, HashMap};
+use std::collections::{HashMap, HashSet};
 
 fn main() {}
 
@@ -126,3 +126,10 @@ fn insert_is_a_read() {
         println!("5 was inserted");
     }
 }
+
+fn not_read_if_return_value_not_used() {
+    // `is_empty` does not modify the set, so it's a query. But since the return value is not used, the
+    // lint does not consider it a read here.
+    let x = vec![1, 2, 3]; // WARNING
+    x.is_empty();
+}
diff --git a/tests/ui/collection_is_never_read.stderr b/tests/ui/collection_is_never_read.stderr
index d66b833c522..7654b74be3d 100644
--- a/tests/ui/collection_is_never_read.stderr
+++ b/tests/ui/collection_is_never_read.stderr
@@ -42,5 +42,11 @@ error: collection is never read
 LL |     let mut x = HashSet::new(); // WARNING
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: aborting due to 7 previous errors
+error: collection is never read
+  --> $DIR/collection_is_never_read.rs:133:5
+   |
+LL |     let x = vec![1, 2, 3]; // WARNING
+   |     ^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 8 previous errors