[][src]Struct artichoke_backend::gc::ArenaIndex

pub struct ArenaIndex { /* fields omitted */ }

Arena savepoint that can be restored to ensure mruby objects are reaped.

mruby manages objects created via the C API in a memory construct called the arena. The arena is a stack and objects stored there are permanently alive to avoid having to track lifetimes externally to the interperter.

An ArenaIndex is an index to some position of the stack. When restoring an ArenaIndex, the stack pointer is moved. All objects beyond the pointer are no longer live and are eligible to be collected at the next GC.

ArenaIndex implements Drop, so letting it go out of scope is sufficient to ensure objects get collected eventually.

Methods

impl ArenaIndex[src]

pub fn restore(self)[src]

Restore the arena stack pointer to its prior index.

Trait Implementations

impl Clone for ArenaIndex[src]

impl Debug for ArenaIndex[src]

impl Drop for ArenaIndex[src]

Auto Trait Implementations

impl !RefUnwindSafe for ArenaIndex

impl !Send for ArenaIndex

impl !Sync for ArenaIndex

impl Unpin for ArenaIndex

impl !UnwindSafe for ArenaIndex

Blanket Implementations

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

impl<T> Any for T where
    T: Any + ?Sized

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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>,