pub unsafe trait FieldDerefMut {
    type Target<'a>
       where Self: 'a;

    // Required method
    fn deref_mut(&mut self) -> Self::Target<'_>;
}
Expand description

Types that can be used by get_mut and to derive CompactBorrowMut.

It’s like DerefMut but with flexible targets and strict constraints.

Safety

T must not deref_mut to something that points to its own memory.

A counter-example is ManuallyDrop<T>, which will deref_mut to &mut T.

Required Associated Types§

source

type Target<'a> where Self: 'a

Required Methods§

source

fn deref_mut(&mut self) -> Self::Target<'_>

Implementations on Foreign Types§

source§

impl<T> FieldDerefMut for &mut T

§

type Target<'a> = &'a mut T where Self: 'a

source§

fn deref_mut(&mut self) -> Self::Target<'_>

source§

impl<T> FieldDerefMut for Box<T>

§

type Target<'a> = &'a mut T where Self: 'a

source§

fn deref_mut(&mut self) -> Self::Target<'_>

source§

impl<T> FieldDerefMut for Option<&mut T>

§

type Target<'a> = Option<&'a mut T> where Self: 'a

source§

fn deref_mut(&mut self) -> Self::Target<'_>

source§

impl<T> FieldDerefMut for Option<Box<T>>

§

type Target<'a> = Option<&'a mut T> where Self: 'a

source§

fn deref_mut(&mut self) -> Self::Target<'_>

Implementors§