pub unsafe trait DerefPure: PointeeSized { }
🔬This is a nightly-only experimental API. (
deref_pure_trait
#87121)Expand description
Perma-unstable marker trait. Indicates that the type has a well-behaved Deref
(and, if applicable, DerefMut
) implementation. This is relied on for soundness
of deref patterns.
FIXME(deref_patterns): The precise semantics are undecided; the rough idea is that
successive calls to deref
/deref_mut
without intermediate mutation should be
idempotent, in the sense that they return the same value as far as pattern-matching
is concerned. Calls to deref
/deref_mut
must leave the pointer itself likewise
unchanged.
Implementors§
impl DerefPure for ByteStr
Available on non-crate feature
ferrocene_certified
only.impl<Ptr: DerefPure> DerefPure for Pin<Ptr>
Available on non-crate feature
ferrocene_certified
only.impl<T: ?Sized> DerefPure for &T
impl<T: ?Sized> DerefPure for &mut T
impl<T: ?Sized> DerefPure for Ref<'_, T>
Available on non-crate feature
ferrocene_certified
only.impl<T: ?Sized> DerefPure for RefMut<'_, T>
Available on non-crate feature
ferrocene_certified
only.impl<T: ?Sized> DerefPure for ManuallyDrop<T>
Available on non-crate feature
ferrocene_certified
only.