pub unsafe trait CartablePointerLike: StableDeref + Sealed { }
Expand description
An object fully representable by a non-null pointer.
§Safety
Implementer safety:
into_raw
transfers ownership of the values referenced by StableDeref to the caller, if there is ownership to transferdrop_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
.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
impl<'a, T> CartablePointerLike for &'a T
impl<T> CartablePointerLike for Box<T>
Available on crate feature
alloc
only.impl<T> CartablePointerLike for Rc<T>
Available on crate feature
alloc
only.impl<T> CartablePointerLike for Arc<T>
Available on crate feature
alloc
only.