Skip to content

Commit 11e318a

Browse files
committed
linear_map: use binding ergonomics, adress clippy
also derive Clone and Debug for linear_map::Iter
1 parent ef899ce commit 11e318a

File tree

1 file changed

+4
-11
lines changed

1 file changed

+4
-11
lines changed

src/linear_map.rs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -441,27 +441,20 @@ where
441441
}
442442
}
443443

444+
#[derive(Clone, Debug)]
444445
pub struct Iter<'a, K, V> {
445446
iter: slice::Iter<'a, (K, V)>,
446447
}
447448

448449
impl<'a, K, V> Iterator for Iter<'a, K, V> {
449450
type Item = (&'a K, &'a V);
450451

451-
#[allow(clippy::needless_borrowed_reference)]
452452
fn next(&mut self) -> Option<Self::Item> {
453-
self.iter.next().map(|&(ref k, ref v)| (k, v))
454-
}
455-
}
456-
457-
impl<'a, K, V> Clone for Iter<'a, K, V> {
458-
fn clone(&self) -> Self {
459-
Self {
460-
iter: self.iter.clone(),
461-
}
453+
self.iter.next().map(|(k, v)| (k, v))
462454
}
463455
}
464456

457+
#[derive(Debug)]
465458
pub struct IterMut<'a, K, V> {
466459
iter: slice::IterMut<'a, (K, V)>,
467460
}
@@ -470,7 +463,7 @@ impl<'a, K, V> Iterator for IterMut<'a, K, V> {
470463
type Item = (&'a K, &'a mut V);
471464

472465
fn next(&mut self) -> Option<Self::Item> {
473-
self.iter.next().map(|&mut (ref k, ref mut v)| (k, v))
466+
self.iter.next().map(|(k, v)| (k as &K, v))
474467
}
475468
}
476469

0 commit comments

Comments
 (0)