Function no_std_compat::intrinsics::offset
const: 1.61.0 · source · pub const unsafe extern "rust-intrinsic" fn offset<Ptr, Delta>(
dst: Ptr,
offset: Delta,
) -> Ptr
🔬This is a nightly-only experimental API. (
core_intrinsics
)Expand description
Calculates the offset from a pointer.
This is implemented as an intrinsic to avoid converting to and from an integer, since the conversion would throw away aliasing information.
This can only be used with Ptr
as a raw pointer type (*mut
or *const
)
to a Sized
pointee and with Delta
as usize
or isize
. Any other
instantiations may arbitrarily misbehave, and that’s not a compiler bug.
§Safety
If the computed offset is non-zero, then both the starting and resulting pointer must be either in bounds or at the end of an allocated object. If either pointer is out of bounds or arithmetic overflow occurs then any further use of the returned value will result in undefined behavior.
The stabilized version of this intrinsic is pointer::offset
.