pub enum InitMemory<'a, T> {
    CompileTime(&'a Module),
    Runtime {
        memory_size_in_pages: &'a dyn Fn(&mut T, MemoryIndex) -> u64,
        get_global_as_u64: &'a dyn Fn(&mut T, GlobalIndex) -> u64,
    },
}
Expand description

Argument to MemoryInitialization::init_memory indicating the current status of the instance.

Variants§

§

CompileTime(&'a Module)

This evaluation of memory initializers is happening at compile time. This means that the current state of memories is whatever their initial state is, and additionally globals are not available if data segments have global offsets.

§

Runtime

Fields

§memory_size_in_pages: &'a dyn Fn(&mut T, MemoryIndex) -> u64

Returns the size, in wasm pages, of the the memory specified.

§get_global_as_u64: &'a dyn Fn(&mut T, GlobalIndex) -> u64

Returns the value of the global, as a u64. Note that this may involve zero-extending a 32-bit global to a 64-bit number.

Evaluation of memory initializers is happening at runtime when the instance is available, and callbacks are provided to learn about the instance’s state.

Auto Trait Implementations§

§

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

§

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

§

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

§

impl<'a, T> Unpin for InitMemory<'a, T>

§

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

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.