[−][src]Struct mruby::gc::ArenaIndex
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]
Trait Implementations
impl Drop for ArenaIndex
[src]
impl Clone for ArenaIndex
[src]
fn clone(&self) -> ArenaIndex
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for ArenaIndex
[src]
Auto Trait Implementations
impl !Send for ArenaIndex
impl Unpin for ArenaIndex
impl !Sync for ArenaIndex
impl !UnwindSafe for ArenaIndex
impl !RefUnwindSafe for ArenaIndex
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut 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<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,