Skip to main content

CartablePointerLike

Trait CartablePointerLike 

Source
pub unsafe trait CartablePointerLike: StableDeref + Sealed { }
Expand description

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
  3. into_raw must not return the sentinel pointer

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.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a, T> CartablePointerLike for &'a T

Source§

impl<T> CartablePointerLike for Arc<T>

Available on crate feature alloc only.
Source§

impl<T> CartablePointerLike for Box<T>

Available on crate feature alloc only.
Source§

impl<T> CartablePointerLike for Rc<T>

Available on crate feature alloc only.

Implementors§