@@ -43,15 +43,19 @@ pub(crate) struct Buckets<'a, K, V> {
43
43
44
44
impl < ' a , K , V > Buckets < ' a , K , V > {
45
45
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 ( ) ;
50
47
Self {
51
48
head : head. iter ( ) ,
52
49
tail : tail. iter ( ) ,
53
50
}
54
51
}
52
+
53
+ pub ( crate ) fn from_slice ( slice : & ' a [ Bucket < K , V > ] ) -> Self {
54
+ Self {
55
+ head : slice. iter ( ) ,
56
+ tail : [ ] . iter ( ) ,
57
+ }
58
+ }
55
59
}
56
60
57
61
impl < ' a , K , V > Iterator for Buckets < ' a , K , V > {
@@ -148,18 +152,25 @@ struct BucketsMut<'a, K, V> {
148
152
149
153
impl < ' a , K , V > BucketsMut < ' a , K , V > {
150
154
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 ( ) ;
155
156
Self {
156
157
head : head. iter_mut ( ) ,
157
158
tail : tail. iter_mut ( ) ,
158
159
}
159
160
}
160
161
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
+
161
169
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
+ }
163
174
}
164
175
}
165
176
@@ -255,9 +266,9 @@ impl<'a, K, V> Iter<'a, K, V> {
255
266
}
256
267
}
257
268
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 {
259
270
Self {
260
- iter : Buckets :: from_slices ( slices ) ,
271
+ iter : Buckets :: from_slice ( slice ) ,
261
272
}
262
273
}
263
274
}
@@ -318,11 +329,9 @@ impl<'a, K, V> IterMut<'a, K, V> {
318
329
}
319
330
}
320
331
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 {
324
333
Self {
325
- iter : BucketsMut :: from_mut_slices ( slices ) ,
334
+ iter : BucketsMut :: from_mut_slice ( slice ) ,
326
335
}
327
336
}
328
337
}
@@ -517,9 +526,9 @@ impl<'a, K, V> Keys<'a, K, V> {
517
526
}
518
527
}
519
528
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 {
521
530
Self {
522
- iter : Buckets :: from_slices ( slices ) ,
531
+ iter : Buckets :: from_slice ( slice ) ,
523
532
}
524
533
}
525
534
}
@@ -623,7 +632,7 @@ impl<K, V> Default for Keys<'_, K, V> {
623
632
/// map.insert("foo", 1);
624
633
/// println!("{:?}", map.keys()[10]); // panics!
625
634
/// ```
626
- impl < ' a , K , V > Index < usize > for Keys < ' a , K , V > {
635
+ impl < K , V > Index < usize > for Keys < ' _ , K , V > {
627
636
type Output = K ;
628
637
629
638
/// Returns a reference to the key at the supplied `index`.
@@ -705,9 +714,9 @@ impl<'a, K, V> Values<'a, K, V> {
705
714
}
706
715
}
707
716
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 {
709
718
Self {
710
- iter : Buckets :: from_slices ( slices ) ,
719
+ iter : Buckets :: from_slice ( slice ) ,
711
720
}
712
721
}
713
722
}
@@ -768,11 +777,9 @@ impl<'a, K, V> ValuesMut<'a, K, V> {
768
777
}
769
778
}
770
779
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 {
774
781
Self {
775
- iter : BucketsMut :: from_mut_slices ( slices ) ,
782
+ iter : BucketsMut :: from_mut_slice ( slice ) ,
776
783
}
777
784
}
778
785
}
@@ -975,7 +982,7 @@ where
975
982
{
976
983
}
977
984
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 >
979
986
where
980
987
I : fmt:: Debug + Iterator < Item = ( K , V ) > ,
981
988
K : fmt:: Debug + Hash + Eq ,
0 commit comments