Enum wasmtime_environ::Initializer
source · [−]pub enum Initializer {
Import {
name: String,
field: Option<String>,
index: EntityIndex,
},
AliasInstanceExport {
instance: InstanceIndex,
export: String,
},
Instantiate {
module: ModuleIndex,
args: IndexMap<String, EntityIndex>,
},
CreateModule {
artifact_index: usize,
artifacts: Vec<usize>,
modules: Vec<ModuleUpvar>,
},
DefineModule(usize),
}
Expand description
Initialization routines for creating an instance, encompassing imports, modules, instances, aliases, etc.
Variants
Import
Fields
name: String
Name of this import
field: Option<String>
The field name projection of this import. When module-linking is
enabled this is always None
. Otherwise this is always Some
.
index: EntityIndex
Where this import will be placed, which also has type information about the import.
An imported item is required to be provided.
AliasInstanceExport
Fields
instance: InstanceIndex
The instance that we’re referencing.
export: String
Which export is being inserted into our index space.
An export from a previously defined instance is being inserted into our index space.
Note that when the module linking proposal is enabled two-level imports will implicitly desugar to this initializer.
Instantiate
Fields
module: ModuleIndex
The module that this instance is instantiating.
args: IndexMap<String, EntityIndex>
The arguments provided to instantiation, along with their name in the instance being instantiated.
A module is being instantiated with previously configured initializers as arguments.
CreateModule
Fields
artifact_index: usize
The index of the artifact that’s being converted into a module.
modules: Vec<ModuleUpvar>
The list of modules that this module value will inherit.
A module is being created from a set of compiled artifacts.
DefineModule(usize)
A module is created from a closed-over-module value, defined when this module was created.
Trait Implementations
sourceimpl Clone for Initializer
impl Clone for Initializer
sourcefn clone(&self) -> Initializer
fn clone(&self) -> Initializer
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for Initializer
impl Debug for Initializer
sourceimpl<'de> Deserialize<'de> for Initializer
impl<'de> Deserialize<'de> for Initializer
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Serialize for Initializer
impl Serialize for Initializer
Auto Trait Implementations
impl RefUnwindSafe for Initializer
impl Send for Initializer
impl Sync for Initializer
impl Unpin for Initializer
impl UnwindSafe for Initializer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more