File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -103,7 +103,8 @@ macro_rules! iterator {
103103 // so this new pointer is inside `self` and thus guaranteed to be non-null.
104104 unsafe {
105105 if_zst!( mut self ,
106- len => * len = len. unchecked_sub( offset) ,
106+ // Using the intrinsic directly avoids emitting a UbCheck
107+ len => * len = crate :: intrinsics:: unchecked_sub( * len, offset) ,
107108 _end => self . ptr = self . ptr. add( offset) ,
108109 ) ;
109110 }
@@ -119,7 +120,8 @@ macro_rules! iterator {
119120 // SAFETY: By our precondition, `offset` can be at most the
120121 // current length, so the subtraction can never overflow.
121122 len => unsafe {
122- * len = len. unchecked_sub( offset) ;
123+ // Using the intrinsic directly avoids emitting a UbCheck
124+ * len = crate :: intrinsics:: unchecked_sub( * len, offset) ;
123125 self . ptr
124126 } ,
125127 // SAFETY: the caller guarantees that `offset` doesn't exceed `self.len()`,
You can’t perform that action at this time.
0 commit comments