# Function offset

Source

    pub const unsafe fn offset<Ptr, Delta>(dst: Ptr, offset: Delta) -> Ptrwhere
        Ptr: BuiltinDeref,

🔬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 allocation. If either pointer is out of bounds or arithmetic overflow occurs then this operation is undefined behavior.

The stabilized version of this intrinsic is `pointer::offset`.