File tree Expand file tree Collapse file tree 1 file changed +2
-13
lines changed Expand file tree Collapse file tree 1 file changed +2
-13
lines changed Original file line number Diff line number Diff line change @@ -1104,25 +1104,14 @@ unsafe fn release_shared(ptr: *mut Shared) {
1104
1104
Box :: from_raw ( ptr) ;
1105
1105
}
1106
1106
1107
- #[ cfg( miri) ]
1108
1107
fn ptr_map < F > ( ptr : * mut u8 , f : F ) -> * mut u8
1109
1108
where
1110
1109
F : FnOnce ( usize ) -> usize ,
1111
1110
{
1112
1111
let old_addr = ptr as usize ;
1113
1112
let new_addr = f ( old_addr) ;
1114
- let diff = new_addr. wrapping_sub ( old_addr) ;
1115
- ptr. wrapping_add ( diff)
1116
- }
1117
-
1118
- #[ cfg( not( miri) ) ]
1119
- fn ptr_map < F > ( ptr : * mut u8 , f : F ) -> * mut u8
1120
- where
1121
- F : FnOnce ( usize ) -> usize ,
1122
- {
1123
- let old_addr = ptr as usize ;
1124
- let new_addr = f ( old_addr) ;
1125
- new_addr as * mut u8
1113
+ // this optimizes better than `ptr.wrapping_add(new_addr.wrapping_sub(old_addr))`
1114
+ ptr. wrapping_sub ( old_addr) . wrapping_add ( new_addr)
1126
1115
}
1127
1116
1128
1117
// compile-fails
You can’t perform that action at this time.
0 commit comments