@@ -43,15 +43,19 @@ pub(crate) struct Buckets<'a, K, V> {
4343
4444impl < ' a , K , V > Buckets < ' a , K , V > {
4545 pub ( crate ) fn new ( entries : & ' a VecDeque < Bucket < K , V > > ) -> Self {
46- Self :: from_slices ( entries. as_slices ( ) )
47- }
48-
49- pub ( crate ) fn from_slices ( ( head, tail) : ( & ' a [ Bucket < K , V > ] , & ' a [ Bucket < K , V > ] ) ) -> Self {
46+ let ( head, tail) = entries. as_slices ( ) ;
5047 Self {
5148 head : head. iter ( ) ,
5249 tail : tail. iter ( ) ,
5350 }
5451 }
52+
53+ pub ( crate ) fn from_slice ( slice : & ' a [ Bucket < K , V > ] ) -> Self {
54+ Self {
55+ head : slice. iter ( ) ,
56+ tail : [ ] . iter ( ) ,
57+ }
58+ }
5559}
5660
5761impl < ' a , K , V > Iterator for Buckets < ' a , K , V > {
@@ -148,18 +152,25 @@ struct BucketsMut<'a, K, V> {
148152
149153impl < ' a , K , V > BucketsMut < ' a , K , V > {
150154 fn new ( entries : & ' a mut VecDeque < Bucket < K , V > > ) -> Self {
151- Self :: from_mut_slices ( entries. as_mut_slices ( ) )
152- }
153-
154- fn from_mut_slices ( ( head, tail) : ( & ' a mut [ Bucket < K , V > ] , & ' a mut [ Bucket < K , V > ] ) ) -> Self {
155+ let ( head, tail) = entries. as_mut_slices ( ) ;
155156 Self {
156157 head : head. iter_mut ( ) ,
157158 tail : tail. iter_mut ( ) ,
158159 }
159160 }
160161
162+ fn from_mut_slice ( slice : & ' a mut [ Bucket < K , V > ] ) -> Self {
163+ Self {
164+ head : slice. iter_mut ( ) ,
165+ tail : [ ] . iter_mut ( ) ,
166+ }
167+ }
168+
161169 fn iter ( & self ) -> Buckets < ' _ , K , V > {
162- Buckets :: from_slices ( ( self . head . as_slice ( ) , self . tail . as_slice ( ) ) )
170+ Buckets {
171+ head : self . head . as_slice ( ) . iter ( ) ,
172+ tail : self . tail . as_slice ( ) . iter ( ) ,
173+ }
163174 }
164175}
165176
@@ -255,9 +266,9 @@ impl<'a, K, V> Iter<'a, K, V> {
255266 }
256267 }
257268
258- pub ( super ) fn from_slices ( slices : ( & ' a [ Bucket < K , V > ] , & ' a [ Bucket < K , V > ] ) ) -> Self {
269+ pub ( super ) fn from_slice ( slice : & ' a [ Bucket < K , V > ] ) -> Self {
259270 Self {
260- iter : Buckets :: from_slices ( slices ) ,
271+ iter : Buckets :: from_slice ( slice ) ,
261272 }
262273 }
263274}
@@ -318,11 +329,9 @@ impl<'a, K, V> IterMut<'a, K, V> {
318329 }
319330 }
320331
321- pub ( super ) fn from_mut_slices (
322- slices : ( & ' a mut [ Bucket < K , V > ] , & ' a mut [ Bucket < K , V > ] ) ,
323- ) -> Self {
332+ pub ( super ) fn from_mut_slice ( slice : & ' a mut [ Bucket < K , V > ] ) -> Self {
324333 Self {
325- iter : BucketsMut :: from_mut_slices ( slices ) ,
334+ iter : BucketsMut :: from_mut_slice ( slice ) ,
326335 }
327336 }
328337}
@@ -517,9 +526,9 @@ impl<'a, K, V> Keys<'a, K, V> {
517526 }
518527 }
519528
520- pub ( super ) fn from_slices ( slices : ( & ' a [ Bucket < K , V > ] , & ' a [ Bucket < K , V > ] ) ) -> Self {
529+ pub ( super ) fn from_slice ( slice : & ' a [ Bucket < K , V > ] ) -> Self {
521530 Self {
522- iter : Buckets :: from_slices ( slices ) ,
531+ iter : Buckets :: from_slice ( slice ) ,
523532 }
524533 }
525534}
@@ -623,7 +632,7 @@ impl<K, V> Default for Keys<'_, K, V> {
623632/// map.insert("foo", 1);
624633/// println!("{:?}", map.keys()[10]); // panics!
625634/// ```
626- impl < ' a , K , V > Index < usize > for Keys < ' a , K , V > {
635+ impl < K , V > Index < usize > for Keys < ' _ , K , V > {
627636 type Output = K ;
628637
629638 /// Returns a reference to the key at the supplied `index`.
@@ -705,9 +714,9 @@ impl<'a, K, V> Values<'a, K, V> {
705714 }
706715 }
707716
708- pub ( super ) fn from_slices ( slices : ( & ' a [ Bucket < K , V > ] , & ' a [ Bucket < K , V > ] ) ) -> Self {
717+ pub ( super ) fn from_slice ( slice : & ' a [ Bucket < K , V > ] ) -> Self {
709718 Self {
710- iter : Buckets :: from_slices ( slices ) ,
719+ iter : Buckets :: from_slice ( slice ) ,
711720 }
712721 }
713722}
@@ -768,11 +777,9 @@ impl<'a, K, V> ValuesMut<'a, K, V> {
768777 }
769778 }
770779
771- pub ( super ) fn from_mut_slices (
772- slices : ( & ' a mut [ Bucket < K , V > ] , & ' a mut [ Bucket < K , V > ] ) ,
773- ) -> Self {
780+ pub ( super ) fn from_mut_slice ( slice : & ' a mut [ Bucket < K , V > ] ) -> Self {
774781 Self {
775- iter : BucketsMut :: from_mut_slices ( slices ) ,
782+ iter : BucketsMut :: from_mut_slice ( slice ) ,
776783 }
777784 }
778785}
@@ -975,7 +982,7 @@ where
975982{
976983}
977984
978- impl < ' a , I , K , V , S > fmt:: Debug for Splice < ' a , I , K , V , S >
985+ impl < I , K , V , S > fmt:: Debug for Splice < ' _ , I , K , V , S >
979986where
980987 I : fmt:: Debug + Iterator < Item = ( K , V ) > ,
981988 K : fmt:: Debug + Hash + Eq ,
0 commit comments