std::intrinsics

Function 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.