offset in core::intrinsics - Rust
Description: Calculates the offset from a pointer.

# Function offset

Source

    pub const unsafe 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 this operation is undefined behavior.

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