File tree 1 file changed +3
-2
lines changed
1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -2344,6 +2344,7 @@ macro_rules! iterator {
2344
2344
#[ inline( always) ]
2345
2345
unsafe fn post_inc_start( & mut self , offset: isize ) -> * $raw_mut T {
2346
2346
if mem:: size_of:: <T >( ) == 0 {
2347
+ // This is *reducing* the length. `ptr` never changes with ZST.
2347
2348
self . end = ( self . end as isize ) . wrapping_sub( offset) as * $raw_mut T ;
2348
2349
self . ptr
2349
2350
} else {
@@ -2425,8 +2426,8 @@ macro_rules! iterator {
2425
2426
// This iterator is now empty. The way we encode the length of a non-ZST
2426
2427
// iterator, this works for both ZST and non-ZST.
2427
2428
// For a ZST we would usually do `self.end = self.ptr`, but since
2428
- // we will not give out an address any more after this there is no
2429
- // way to observe the difference.
2429
+ // we will not give out an reference any more after this there is no
2430
+ // way to observe the difference except for raw pointers .
2430
2431
self . ptr = self . end;
2431
2432
return None ;
2432
2433
}
You can’t perform that action at this time.
0 commit comments