summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/iter_kv_map.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/iter_kv_map.rs')
-rw-r--r--src/tools/clippy/tests/ui/iter_kv_map.rs43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/iter_kv_map.rs b/src/tools/clippy/tests/ui/iter_kv_map.rs
index d85e501da..6a9a4267a 100644
--- a/src/tools/clippy/tests/ui/iter_kv_map.rs
+++ b/src/tools/clippy/tests/ui/iter_kv_map.rs
@@ -93,3 +93,46 @@ fn main() {
// Don't let a mut interfere.
let _ = map.clone().into_iter().map(|(_, mut val)| val).count();
}
+
+#[clippy::msrv = "1.53"]
+fn msrv_1_53() {
+ let map: HashMap<u32, u32> = HashMap::new();
+
+ // Don't lint because into_iter is not supported
+ let _ = map.clone().into_iter().map(|(key, _)| key).collect::<Vec<_>>();
+ let _ = map.clone().into_iter().map(|(key, _)| key + 2).collect::<Vec<_>>();
+
+ let _ = map.clone().into_iter().map(|(_, val)| val).collect::<Vec<_>>();
+ let _ = map.clone().into_iter().map(|(_, val)| val + 2).collect::<Vec<_>>();
+
+ // Lint
+ let _ = map.iter().map(|(key, _)| key).collect::<Vec<_>>();
+ //~^ ERROR: iterating on a map's keys
+ let _ = map.iter().map(|(_, value)| value).collect::<Vec<_>>();
+ //~^ ERROR: iterating on a map's values
+ let _ = map.iter().map(|(_, v)| v + 2).collect::<Vec<_>>();
+ //~^ ERROR: iterating on a map's values
+}
+
+#[clippy::msrv = "1.54"]
+fn msrv_1_54() {
+ // Lint all
+ let map: HashMap<u32, u32> = HashMap::new();
+
+ let _ = map.clone().into_iter().map(|(key, _)| key).collect::<Vec<_>>();
+ //~^ ERROR: iterating on a map's keys
+ let _ = map.clone().into_iter().map(|(key, _)| key + 2).collect::<Vec<_>>();
+ //~^ ERROR: iterating on a map's keys
+
+ let _ = map.clone().into_iter().map(|(_, val)| val).collect::<Vec<_>>();
+ //~^ ERROR: iterating on a map's values
+ let _ = map.clone().into_iter().map(|(_, val)| val + 2).collect::<Vec<_>>();
+ //~^ ERROR: iterating on a map's values
+
+ let _ = map.iter().map(|(key, _)| key).collect::<Vec<_>>();
+ //~^ ERROR: iterating on a map's keys
+ let _ = map.iter().map(|(_, value)| value).collect::<Vec<_>>();
+ //~^ ERROR: iterating on a map's values
+ let _ = map.iter().map(|(_, v)| v + 2).collect::<Vec<_>>();
+ //~^ ERROR: iterating on a map's values
+}