[][src]Struct runestick::BorrowRef

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

Guard for a data 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 clear for more information.

Implementations

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

pub fn try_map<M, U: ?Sized, E>(this: Self, m: M) -> Result<BorrowRef<'a, U>, E> where
    M: FnOnce(&T) -> Result<&U, E>, 
[src]

Try to map the interior reference the reference.

Trait Implementations

impl<T: ?Sized, '_> Debug for BorrowRef<'_, T> where
    T: Debug
[src]

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

type Target = T

The resulting type after dereferencing.

Auto Trait Implementations

impl<'a, T> !RefUnwindSafe for BorrowRef<'a, T>

impl<'a, T> !Send for BorrowRef<'a, T>

impl<'a, T> !Sync for BorrowRef<'a, T>

impl<'a, T: ?Sized> Unpin for BorrowRef<'a, T>

impl<'a, T> !UnwindSafe for BorrowRef<'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>,