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 @@ -2353,6 +2353,7 @@ macro_rules! iterator {
2353
2353
#[ inline( always) ]
2354
2354
unsafe fn post_inc_start( & mut self , offset: isize ) -> * $raw_mut T {
2355
2355
if mem:: size_of:: <T >( ) == 0 {
2356
+ // This is *reducing* the length. `ptr` never changes with ZST.
2356
2357
self . end = ( self . end as isize ) . wrapping_sub( offset) as * $raw_mut T ;
2357
2358
self . ptr
2358
2359
} else {
@@ -2434,8 +2435,8 @@ macro_rules! iterator {
2434
2435
// This iterator is now empty. The way we encode the length of a non-ZST
2435
2436
// iterator, this works for both ZST and non-ZST.
2436
2437
// For a ZST we would usually do `self.end = self.ptr`, but since
2437
- // we will not give out an address any more after this there is no
2438
- // way to observe the difference.
2438
+ // we will not give out an reference any more after this there is no
2439
+ // way to observe the difference except for raw pointers .
2439
2440
self . ptr = self . end;
2440
2441
return None ;
2441
2442
}
You can’t perform that action at this time.
0 commit comments