Trait ToGlibPtrMut

pub trait ToGlibPtrMut<'a, P>
where P: Copy,
{ type Storage; // Required method fn to_glib_none_mut(&'a mut self) -> StashMut<'a, P, Self>; }
Expand description

Translate to a pointer with a mutable borrow.

Required Associated Types§

type Storage

Required Methods§

fn to_glib_none_mut(&'a mut self) -> StashMut<'a, P, Self>

Transfer: none.

The pointer in the Stash is only valid for the lifetime of the Stash.

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, 'opt, P, T> ToGlibPtrMut<'a, P> for Option<&'opt mut T>
where 'opt: 'a, P: Ptr, T: ToGlibPtrMut<'a, P>,

§

type Storage = Option<<T as ToGlibPtrMut<'a, P>>::Storage>

§

fn to_glib_none_mut(&'a mut self) -> StashMut<'a, P, Option<&'opt mut T>>

Implementors§

§

impl<'a, T> ToGlibPtrMut<'a, *mut <T as GlibPtrDefault>::GlibType> for PtrSlice<T>
where T: TransparentPtrType + 'a,

§

type Storage = PhantomData<&'a mut PtrSlice<T>>

§

impl<'a, T> ToGlibPtrMut<'a, *mut <T as TransparentType>::GlibType> for Slice<T>
where T: TransparentType + 'a,

§

type Storage = PhantomData<&'a mut Slice<T>>

§

impl<'a, T> ToGlibPtrMut<'a, *mut GList> for List<T>
where T: TransparentPtrType + 'a,

§

type Storage = PhantomData<&'a mut List<T>>

§

impl<'a, T> ToGlibPtrMut<'a, *mut GSList> for SList<T>
where T: TransparentPtrType + 'a,

§

type Storage = PhantomData<&'a mut SList<T>>

§

impl<'a, T, MM> ToGlibPtrMut<'a, *mut T> for Boxed<T, MM>
where T: 'static, MM: BoxedMemoryManager<Target = T>,

§

type Storage = PhantomData<&'a mut Boxed<T, MM>>