DerefPure in std::ops - Rust (original) (raw)

pub unsafe trait DerefPure { }

🔬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.