File tree 1 file changed +5
-3
lines changed
1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -787,17 +787,19 @@ where
787
787
#[ inline]
788
788
fn spec_next ( & mut self ) -> Option < Self :: Item > {
789
789
self . first_take = false ;
790
- if !( self . iter . start <= self . iter . end ) {
790
+ if self . iter . is_empty ( ) {
791
+ self . iter . is_iterating = Some ( false ) ;
791
792
return None ;
792
793
}
793
794
// add 1 to self.step to get original step size back
794
795
// it was decremented for the general case on construction
795
796
if let Some ( n) = self . iter . start . add_usize ( self . step +1 ) {
797
+ self . iter . is_iterating = Some ( n <= self . iter . end ) ;
796
798
let next = mem:: replace ( & mut self . iter . start , n) ;
797
799
Some ( next)
798
800
} else {
799
- let last = self . iter . start . replace_one ( ) ;
800
- self . iter . end . replace_zero ( ) ;
801
+ let last = self . iter . start . clone ( ) ;
802
+ self . iter . is_iterating = Some ( false ) ;
801
803
Some ( last)
802
804
}
803
805
}
You can’t perform that action at this time.
0 commit comments