I: IntoIterator<Item = &'a T>,
T: Copy + Hash + Eq,
{
- iter.into_iter().cloned().collect()
+ iter.into_iter().copied().collect()
}
fn indexmap<'a, T: 'a, I>(iter: I) -> IndexMap<T, ()>
I: IntoIterator<Item = &'a T>,
T: Copy + Hash + Eq,
{
- IndexMap::from_iter(iter.into_iter().cloned().map(|k| (k, ())))
+ IndexMap::from_iter(iter.into_iter().copied().map(|k| (k, ())))
}
quickcheck! {
// First see if `Vec::drain` is happy with this range.
let result = std::panic::catch_unwind(|| {
- let mut keys: Vec<u8> = map.keys().cloned().collect();
+ let mut keys: Vec<u8> = map.keys().copied().collect();
keys.drain(range);
keys
});
let mut iter = map.keys();
for &key in insert.iter().unique() {
if elements.contains(&key) {
- assert_eq!(Some(key), iter.next().cloned());
+ assert_eq!(Some(&key), iter.next());
}
}
fn indexing(insert: Vec<u8>) -> bool {
let mut map: IndexMap<_, _> = insert.into_iter().map(|x| (x, x)).collect();
- let set: IndexSet<_> = map.keys().cloned().collect();
+ let set: IndexSet<_> = map.keys().copied().collect();
assert_eq!(map.len(), set.len());
for (i, &key) in set.iter().enumerate() {
let mut reference = HashMap::new();
do_ops(&ops, &mut map, &mut reference);
let mut visit = IndexMap::new();
- let keys = Vec::from_iter(map.keys().cloned());
+ let keys = Vec::from_iter(map.keys().copied());
for (k, v) in keys.iter().zip(map.values_mut()) {
assert_eq!(&reference[k], v);
assert!(!visit.contains_key(k));