Skip to main content

PlaceDeref

Trait PlaceDeref 

Source
pub unsafe trait PlaceDeref<P>
where P: Projection + ?Sized, P::Target: HasPlace, Self: HasPlace<Target = P::Source>,
{ // Required method unsafe fn double_deref(ptr: *mut Self, p: &P) -> *const P::Target; }
Expand description

Allows dereferencing a subplace that contains a pointer. The returned pointer will only be used for further place operations.

Required Methods§

Source

unsafe fn double_deref(ptr: *mut Self, p: &P) -> *const P::Target

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<P: Projection + ?Sized> PlaceDeref<P> for *const P::Source
where P::Target: HasPlace,

Source§

unsafe fn double_deref( ptr: *mut Self, p: &P, ) -> *const <P as Projection>::Target

Source§

impl<P: Projection + ?Sized> PlaceDeref<P> for *mut P::Source
where P::Target: HasPlace,

Source§

unsafe fn double_deref( ptr: *mut Self, p: &P, ) -> *const <P as Projection>::Target

Source§

impl<P: Projection + ?Sized> PlaceDeref<P> for NonNull<P::Source>
where P::Target: HasPlace,

Source§

unsafe fn double_deref( ptr: *mut Self, p: &P, ) -> *const <P as Projection>::Target

Implementors§

Source§

impl<P: Projection + ?Sized> PlaceDeref<P> for &'_ P::Source
where P::Target: HasPlace,

Source§

impl<P: Projection + ?Sized> PlaceDeref<P> for &'_ mut P::Source
where P::Target: HasPlace,