pub struct Mut<'a, T: ?Sized> { /* private fields */ }
Expand description
Guard for a value exclusively borrowed from a slot in the virtual machine.
These guards are necessary, since we need to guarantee certain forms of access depending on what we do. Releasing the guard releases the access.
These also aid in function call integration, since they can be “arm” the virtual machine to release shared guards through its unsafe functions.
See [disarm][Vm::disarm] for more information.
Implementations§
Source§impl<'a, T: ?Sized> Mut<'a, T>
impl<'a, T: ?Sized> Mut<'a, T>
Sourcepub unsafe fn unsafe_into_mut<'out>(this: Self) -> (&'out mut T, RawMutGuard)
pub unsafe fn unsafe_into_mut<'out>(this: Self) -> (&'out mut T, RawMutGuard)
Convert into a reference with an unbounded lifetime.
§Safety
The returned reference must not outlive the VM that produced it. Calling [disarm][Vm::disarm] must not be done until all referenced produced through these methods are no longer live.
Trait Implementations§
Auto Trait Implementations§
impl<'a, T> Freeze for Mut<'a, T>where
T: ?Sized,
impl<'a, T> !RefUnwindSafe for Mut<'a, T>
impl<'a, T> !Send for Mut<'a, T>
impl<'a, T> !Sync for Mut<'a, T>
impl<'a, T> Unpin for Mut<'a, T>where
T: ?Sized,
impl<'a, T> !UnwindSafe for Mut<'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