Trait CartablePointerLike

unsafe trait CartablePointerLike: StableDeref + Sealed

An object fully representable by a non-null pointer.

Safety

Implementer safety:

  1. into_raw transfers ownership of the values referenced by StableDeref to the caller, if there is ownership to transfer
  2. drop_raw returns ownership back to the impl, if there is ownership to transfer

Note: if into_raw returns the sentinel pointer, memory leaks may occur, but this will not lead to undefined behaviour.

Note: the pointer NonNull<Self::Raw> may or may not be aligned and it should never be dereferenced. Rust allows unaligned pointers; see std::ptr::read_unaligned.

Implementors