pub unsafe trait DerefPure { }
๐ฌThis is a nightly-only experimental API. (
deref_pure_trait
)Available on crate feature
std
only.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 Cow<'_, str>
Available on non-
no_global_oom_handling
only.impl DerefPure for String
impl DerefPure for ByteString
impl DerefPure for ByteStr
impl<Ptr> DerefPure for Pin<Ptr>where
Ptr: DerefPure,
impl<T> DerefPure for Cow<'_, [T]>where
T: Clone,
Available on non-
no_global_oom_handling
only.