[][src]Struct stk::Mut

pub struct Mut<'a, T: ?Sized> { /* fields omitted */ }

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

impl<'a, T: ?Sized> Mut<'a, T>[src]

pub unsafe fn unsafe_into_mut<'out>(this: Self) -> (&'out mut T, RawMutGuard)[src]

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

impl<T: ?Sized, '_> Deref for Mut<'_, T>[src]

type Target = T

The resulting type after dereferencing.

impl<T: ?Sized, '_> DerefMut for Mut<'_, T>[src]

Auto Trait Implementations

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: ?Sized> Unpin for Mut<'a, T>

impl<'a, T> !UnwindSafe for Mut<'a, T>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,