@@ -1209,6 +1209,12 @@ impl<'a, K, V> DoubleEndedIterator for Keys<'a, K, V> {
1209
1209
}
1210
1210
}
1211
1211
1212
+ impl < ' a , K , V > ExactSizeIterator for Keys < ' a , K , V > {
1213
+ fn len ( & self ) -> usize {
1214
+ self . iter . len ( )
1215
+ }
1216
+ }
1217
+
1212
1218
pub struct Values < ' a , K : ' a , V : ' a > {
1213
1219
iter : SliceIter < ' a , Bucket < K , V > > ,
1214
1220
}
@@ -1243,6 +1249,12 @@ impl<'a, K, V> DoubleEndedIterator for Values<'a, K, V> {
1243
1249
}
1244
1250
}
1245
1251
1252
+ impl < ' a , K , V > ExactSizeIterator for Values < ' a , K , V > {
1253
+ fn len ( & self ) -> usize {
1254
+ self . iter . len ( )
1255
+ }
1256
+ }
1257
+
1246
1258
pub struct ValuesMut < ' a , K : ' a , V : ' a > {
1247
1259
iter : SliceIterMut < ' a , Bucket < K , V > > ,
1248
1260
}
@@ -1277,6 +1289,12 @@ impl<'a, K, V> DoubleEndedIterator for ValuesMut<'a, K, V> {
1277
1289
}
1278
1290
}
1279
1291
1292
+ impl < ' a , K , V > ExactSizeIterator for ValuesMut < ' a , K , V > {
1293
+ fn len ( & self ) -> usize {
1294
+ self . iter . len ( )
1295
+ }
1296
+ }
1297
+
1280
1298
pub struct Iter < ' a , K : ' a , V : ' a > {
1281
1299
iter : SliceIter < ' a , Bucket < K , V > > ,
1282
1300
}
@@ -1311,6 +1329,12 @@ impl<'a, K, V> DoubleEndedIterator for Iter<'a, K, V> {
1311
1329
}
1312
1330
}
1313
1331
1332
+ impl < ' a , K , V > ExactSizeIterator for Iter < ' a , K , V > {
1333
+ fn len ( & self ) -> usize {
1334
+ self . iter . len ( )
1335
+ }
1336
+ }
1337
+
1314
1338
pub struct IterMut < ' a , K : ' a , V : ' a > {
1315
1339
iter : SliceIterMut < ' a , Bucket < K , V > > ,
1316
1340
}
@@ -1345,6 +1369,12 @@ impl<'a, K, V> DoubleEndedIterator for IterMut<'a, K, V> {
1345
1369
}
1346
1370
}
1347
1371
1372
+ impl < ' a , K , V > ExactSizeIterator for IterMut < ' a , K , V > {
1373
+ fn len ( & self ) -> usize {
1374
+ self . iter . len ( )
1375
+ }
1376
+ }
1377
+
1348
1378
pub struct IntoIter < K , V > {
1349
1379
iter : VecIntoIter < Bucket < K , V > > ,
1350
1380
}
@@ -1379,6 +1409,13 @@ impl<'a, K, V> DoubleEndedIterator for IntoIter<K, V> {
1379
1409
}
1380
1410
}
1381
1411
1412
+ impl < K , V > ExactSizeIterator for IntoIter < K , V > {
1413
+ fn len ( & self ) -> usize {
1414
+ self . iter . len ( )
1415
+ }
1416
+ }
1417
+
1418
+
1382
1419
impl < ' a , K , V , S > IntoIterator for & ' a OrderMap < K , V , S >
1383
1420
where K : Hash + Eq ,
1384
1421
S : BuildHasher ,
0 commit comments