Struct dereffer::DerefsToMut
source · pub struct DerefsToMut<Inner, Ref: ?Sized> { /* private fields */ }
Expand description
Similar to DerefsTo
, but supports mutable dereferencing too.
Because Ruse doesn’t offer a way to abstract over mutability,
i.e., accept both &T
and &mut T
, this struct must handle the
Deref
and DerefMut
cases separately with individual functions.
Implementations§
source§impl<Inner, Ref: ?Sized> DerefsToMut<Inner, Ref>
impl<Inner, Ref: ?Sized> DerefsToMut<Inner, Ref>
source§impl<Inner, Ref> DerefsToMut<Inner, Ref>where
Inner: DerefMut<Target = Ref>,
Ref: ?Sized,
impl<Inner, Ref> DerefsToMut<Inner, Ref>where Inner: DerefMut<Target = Ref>, Ref: ?Sized,
sourcepub const fn new_default(inner: Inner) -> Self
pub const fn new_default(inner: Inner) -> Self
Creates a new wrapper with default, simple deref functions,
Deref::deref()
and DerefMut::deref_mut()
.
Trait Implementations§
source§impl<Inner, Ref: ?Sized> Deref for DerefsToMut<Inner, Ref>
impl<Inner, Ref: ?Sized> Deref for DerefsToMut<Inner, Ref>
Auto Trait Implementations§
impl<Inner, Ref: ?Sized> RefUnwindSafe for DerefsToMut<Inner, Ref>where Inner: RefUnwindSafe,
impl<Inner, Ref: ?Sized> Send for DerefsToMut<Inner, Ref>where Inner: Send,
impl<Inner, Ref: ?Sized> Sync for DerefsToMut<Inner, Ref>where Inner: Sync,
impl<Inner, Ref: ?Sized> Unpin for DerefsToMut<Inner, Ref>where Inner: Unpin,
impl<Inner, Ref: ?Sized> UnwindSafe for DerefsToMut<Inner, Ref>where Inner: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more