[−][src]Struct stk::Ref
Guard for a value 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> Ref<'a, T>
[src]
pub unsafe fn unsafe_into_ref<'out>(this: Self) -> (&'out T, RawRefGuard)
[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, '_> Debug for Ref<'_, T> where
T: Debug,
[src]
T: Debug,
impl<T: ?Sized, '_> Deref for Ref<'_, T>
[src]
Auto Trait Implementations
impl<'a, T> !RefUnwindSafe for Ref<'a, T>
impl<'a, T> !Send for Ref<'a, T>
impl<'a, T> !Sync for Ref<'a, T>
impl<'a, T: ?Sized> Unpin for Ref<'a, T>
impl<'a, T> !UnwindSafe for Ref<'a, T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,