Rawptr add but uses arithmetic distance for ZST
(ptr: *mut T, offset: usize)
| 572 | |
| 573 | /// Rawptr add but uses arithmetic distance for ZST |
| 574 | unsafe fn raw_ptr_add<T>(ptr: *mut T, offset: usize) -> *mut T { |
| 575 | if mem::size_of::<T>() == 0 { |
| 576 | // Special case for ZST |
| 577 | (ptr as usize).wrapping_add(offset) as _ |
| 578 | } else { |
| 579 | unsafe { ptr.add(offset) } |
| 580 | } |
| 581 | } |
| 582 | |
| 583 | unsafe fn raw_ptr_write<T>(ptr: *mut T, value: T) { |
| 584 | if mem::size_of::<T>() == 0 { |