]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/for_kv_map.rs
bump version to 1.80.1+dfsg1-1~bpo12+pve1
[rustc.git] / src / tools / clippy / tests / ui / for_kv_map.rs
CommitLineData
f20569fa
XL
1#![warn(clippy::for_kv_map)]
2#![allow(clippy::used_underscore_binding)]
3
4use std::collections::*;
5use std::rc::Rc;
6
7fn main() {
8 let m: HashMap<u64, u64> = HashMap::new();
9 for (_, v) in &m {
781aab86
FG
10 //~^ ERROR: you seem to want to iterate on a map's values
11 //~| NOTE: `-D clippy::for-kv-map` implied by `-D warnings`
f20569fa
XL
12 let _v = v;
13 }
14
15 let m: Rc<HashMap<u64, u64>> = Rc::new(HashMap::new());
16 for (_, v) in &*m {
781aab86 17 //~^ ERROR: you seem to want to iterate on a map's values
f20569fa
XL
18 let _v = v;
19 // Here the `*` is not actually necessary, but the test tests that we don't
20 // suggest
21 // `in *m.values()` as we used to
22 }
23
24 let mut m: HashMap<u64, u64> = HashMap::new();
25 for (_, v) in &mut m {
781aab86 26 //~^ ERROR: you seem to want to iterate on a map's values
f20569fa
XL
27 let _v = v;
28 }
29
30 let m: &mut HashMap<u64, u64> = &mut HashMap::new();
31 for (_, v) in &mut *m {
781aab86 32 //~^ ERROR: you seem to want to iterate on a map's values
f20569fa
XL
33 let _v = v;
34 }
35
36 let m: HashMap<u64, u64> = HashMap::new();
37 let rm = &m;
38 for (k, _value) in rm {
781aab86 39 //~^ ERROR: you seem to want to iterate on a map's keys
f20569fa
XL
40 let _k = k;
41 }
42
43 // The following should not produce warnings.
44
45 let m: HashMap<u64, u64> = HashMap::new();
46 // No error, _value is actually used
47 for (k, _value) in &m {
48 let _ = _value;
49 let _k = k;
50 }
51
52 let m: HashMap<u64, String> = Default::default();
53 for (_, v) in m {
54 let _v = v;
55 }
56}