File tree 1 file changed +20
-0
lines changed
1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -765,6 +765,15 @@ impl<A: Step> Iterator for ops::Range<A> {
765
765
}
766
766
}
767
767
768
+ #[ inline]
769
+ fn count ( self ) -> usize {
770
+ if self . start < self . end {
771
+ Step :: steps_between ( & self . start , & self . end ) . expect ( "count overflowed usize" )
772
+ } else {
773
+ 0
774
+ }
775
+ }
776
+
768
777
#[ inline]
769
778
fn nth ( & mut self , n : usize ) -> Option < A > {
770
779
self . spec_nth ( n)
@@ -1162,6 +1171,17 @@ impl<A: Step> Iterator for ops::RangeInclusive<A> {
1162
1171
}
1163
1172
}
1164
1173
1174
+ #[ inline]
1175
+ fn count ( self ) -> usize {
1176
+ if self . is_empty ( ) {
1177
+ return 0 ;
1178
+ }
1179
+
1180
+ Step :: steps_between ( & self . start , & self . end )
1181
+ . and_then ( |steps| steps. checked_add ( 1 ) )
1182
+ . expect ( "count overflowed usize" )
1183
+ }
1184
+
1165
1185
#[ inline]
1166
1186
fn nth ( & mut self , n : usize ) -> Option < A > {
1167
1187
if self . is_empty ( ) {
You can’t perform that action at this time.
0 commit comments