pub enum MaybeOwned<'a, T: 'a> {
Owned(T),
Borrowed(&'a mut T),
}
Expand description
A mutable value which is either owned or borrowed from an owning context.
This is very different from Cow
in that one can mutate the shared
reference but cannot take ownership.
Variants§
Trait Implementations§
Source§impl<'a, T: Debug + 'a> Debug for MaybeOwned<'a, T>
impl<'a, T: Debug + 'a> Debug for MaybeOwned<'a, T>
Source§impl<'a, T: 'a> Deref for MaybeOwned<'a, T>
impl<'a, T: 'a> Deref for MaybeOwned<'a, T>
Auto Trait Implementations§
impl<'a, T> Freeze for MaybeOwned<'a, T>where
T: Freeze,
impl<'a, T> RefUnwindSafe for MaybeOwned<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for MaybeOwned<'a, T>where
T: Send,
impl<'a, T> Sync for MaybeOwned<'a, T>where
T: Sync,
impl<'a, T> Unpin for MaybeOwned<'a, T>where
T: Unpin,
impl<'a, T> !UnwindSafe for MaybeOwned<'a, T>
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