@@ -273,6 +273,10 @@ impl<'a, T: 'a> Iterator for Iter<'a, T> {
273273 fn next ( & mut self ) -> Option < & ' a T > {
274274 self . inner . next ( )
275275 }
276+
277+ fn size_hint ( & self ) -> ( usize , Option < usize > ) {
278+ self . inner . size_hint ( )
279+ }
276280}
277281
278282impl < ' a , T : ' a > DoubleEndedIterator for Iter < ' a , T > {
@@ -281,6 +285,12 @@ impl<'a, T: 'a> DoubleEndedIterator for Iter<'a, T> {
281285 }
282286}
283287
288+ impl < ' a , T : ' a > ExactSizeIterator for Iter < ' a , T > {
289+ fn len ( & self ) -> usize {
290+ self . inner . len ( )
291+ }
292+ }
293+
284294/// An iterator over mutable references to values of an `Array` in the
285295/// higher-dimensional equivalent of row-major order.
286296pub struct IterMut < ' a , T : ' a > {
@@ -293,6 +303,10 @@ impl<'a, T: 'a> Iterator for IterMut<'a, T> {
293303 fn next ( & mut self ) -> Option < & ' a mut T > {
294304 self . inner . next ( )
295305 }
306+
307+ fn size_hint ( & self ) -> ( usize , Option < usize > ) {
308+ self . inner . size_hint ( )
309+ }
296310}
297311
298312impl < ' a , T : ' a > DoubleEndedIterator for IterMut < ' a , T > {
@@ -301,6 +315,12 @@ impl<'a, T: 'a> DoubleEndedIterator for IterMut<'a, T> {
301315 }
302316}
303317
318+ impl < ' a , T : ' a > ExactSizeIterator for IterMut < ' a , T > {
319+ fn len ( & self ) -> usize {
320+ self . inner . len ( )
321+ }
322+ }
323+
304324/// An iterator over values of an `Array` in the higher-dimensional
305325/// equivalent of row-major order.
306326pub struct IntoIter < T > {
@@ -313,10 +333,20 @@ impl<T> Iterator for IntoIter<T> {
313333 fn next ( & mut self ) -> Option < T > {
314334 self . inner . next ( )
315335 }
336+
337+ fn size_hint ( & self ) -> ( usize , Option < usize > ) {
338+ self . inner . size_hint ( )
339+ }
316340}
317341
318342impl < T > DoubleEndedIterator for IntoIter < T > {
319343 fn next_back ( & mut self ) -> Option < T > {
320344 self . inner . next_back ( )
321345 }
322346}
347+
348+ impl < T > ExactSizeIterator for IntoIter < T > {
349+ fn len ( & self ) -> usize {
350+ self . inner . len ( )
351+ }
352+ }
0 commit comments