@@ -441,27 +441,20 @@ where
441
441
}
442
442
}
443
443
444
+ #[ derive( Clone , Debug ) ]
444
445
pub struct Iter < ' a , K , V > {
445
446
iter : slice:: Iter < ' a , ( K , V ) > ,
446
447
}
447
448
448
449
impl < ' a , K , V > Iterator for Iter < ' a , K , V > {
449
450
type Item = ( & ' a K , & ' a V ) ;
450
451
451
- #[ allow( clippy:: needless_borrowed_reference) ]
452
452
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) )
462
454
}
463
455
}
464
456
457
+ #[ derive( Debug ) ]
465
458
pub struct IterMut < ' a , K , V > {
466
459
iter : slice:: IterMut < ' a , ( K , V ) > ,
467
460
}
@@ -470,7 +463,7 @@ impl<'a, K, V> Iterator for IterMut<'a, K, V> {
470
463
type Item = ( & ' a K , & ' a mut V ) ;
471
464
472
465
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) )
474
467
}
475
468
}
476
469
0 commit comments