pub struct DerefsTo<Inner, Ref: ?Sized> { /* private fields */ }
Expand description
A struct that holds an inner value and a function
that is used deref the Inner
value into a &Ref
.
As with Deref
, the dereffer function must not fail.
It typically just accesses an arbitrary field reachable from Inner
.
This is also useful to prevent a caller from accessing all of Inner
,
rather only giving them access to Ref
.
Implementations§
source§impl<Inner, Ref> DerefsTo<Inner, Ref>where
Inner: Deref<Target = Ref>,
Ref: ?Sized,
impl<Inner, Ref> DerefsTo<Inner, Ref>where Inner: Deref<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 the default, simple deref function,
Deref::deref()
.
Trait Implementations§
Auto Trait Implementations§
impl<Inner, Ref: ?Sized> RefUnwindSafe for DerefsTo<Inner, Ref>where Inner: RefUnwindSafe,
impl<Inner, Ref: ?Sized> Send for DerefsTo<Inner, Ref>where Inner: Send,
impl<Inner, Ref: ?Sized> Sync for DerefsTo<Inner, Ref>where Inner: Sync,
impl<Inner, Ref: ?Sized> Unpin for DerefsTo<Inner, Ref>where Inner: Unpin,
impl<Inner, Ref: ?Sized> UnwindSafe for DerefsTo<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