@@ -807,7 +807,7 @@ impl<T> Option<T> {
807807 }
808808
809809 #[ inline]
810- const fn len ( & self ) -> usize {
810+ pub ( crate ) const fn len ( & self ) -> usize {
811811 // Using the intrinsic avoids emitting a branch to get the 0 or 1.
812812 let discriminant: isize = crate :: intrinsics:: discriminant_value ( self ) ;
813813 discriminant as usize
@@ -2461,6 +2461,7 @@ impl<'a, A> Iterator for Iter<'a, A> {
24612461 fn next ( & mut self ) -> Option < & ' a A > {
24622462 self . inner . next ( )
24632463 }
2464+
24642465 #[ inline]
24652466 fn size_hint ( & self ) -> ( usize , Option < usize > ) {
24662467 self . inner . size_hint ( )
@@ -2476,7 +2477,11 @@ impl<'a, A> DoubleEndedIterator for Iter<'a, A> {
24762477}
24772478
24782479#[ stable( feature = "rust1" , since = "1.0.0" ) ]
2479- impl < A > ExactSizeIterator for Iter < ' _ , A > { }
2480+ impl < A > ExactSizeIterator for Iter < ' _ , A > {
2481+ fn len ( & self ) -> usize {
2482+ self . inner . len ( )
2483+ }
2484+ }
24802485
24812486#[ stable( feature = "fused" , since = "1.26.0" ) ]
24822487impl < A > FusedIterator for Iter < ' _ , A > { }
@@ -2511,6 +2516,7 @@ impl<'a, A> Iterator for IterMut<'a, A> {
25112516 fn next ( & mut self ) -> Option < & ' a mut A > {
25122517 self . inner . next ( )
25132518 }
2519+
25142520 #[ inline]
25152521 fn size_hint ( & self ) -> ( usize , Option < usize > ) {
25162522 self . inner . size_hint ( )
@@ -2526,7 +2532,11 @@ impl<'a, A> DoubleEndedIterator for IterMut<'a, A> {
25262532}
25272533
25282534#[ stable( feature = "rust1" , since = "1.0.0" ) ]
2529- impl < A > ExactSizeIterator for IterMut < ' _ , A > { }
2535+ impl < A > ExactSizeIterator for IterMut < ' _ , A > {
2536+ fn len ( & self ) -> usize {
2537+ self . inner . len ( )
2538+ }
2539+ }
25302540
25312541#[ stable( feature = "fused" , since = "1.26.0" ) ]
25322542impl < A > FusedIterator for IterMut < ' _ , A > { }
@@ -2552,6 +2562,7 @@ impl<A> Iterator for IntoIter<A> {
25522562 fn next ( & mut self ) -> Option < A > {
25532563 self . inner . next ( )
25542564 }
2565+
25552566 #[ inline]
25562567 fn size_hint ( & self ) -> ( usize , Option < usize > ) {
25572568 self . inner . size_hint ( )
@@ -2567,7 +2578,11 @@ impl<A> DoubleEndedIterator for IntoIter<A> {
25672578}
25682579
25692580#[ stable( feature = "rust1" , since = "1.0.0" ) ]
2570- impl < A > ExactSizeIterator for IntoIter < A > { }
2581+ impl < A > ExactSizeIterator for IntoIter < A > {
2582+ fn len ( & self ) -> usize {
2583+ self . inner . len ( )
2584+ }
2585+ }
25712586
25722587#[ stable( feature = "fused" , since = "1.26.0" ) ]
25732588impl < A > FusedIterator for IntoIter < A > { }
0 commit comments