Enum wasmtime_environ::Initializer [−][src]
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
An imported item is required to be provided.
Show fields
Fields of Import
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 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.
Show fields
Fields of AliasInstanceExport
instance: InstanceIndex
The instance that we’re referencing.
export: String
Which export is being inserted into our index space.
A module is being instantiated with previously configured initializers as arguments.
Show fields
Fields of Instantiate
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 created from a set of compiled artifacts.
Show fields
Fields of CreateModule
artifact_index: usize
The index of the artifact that’s being converted into a module.
artifacts: Vec<usize>
The list of artifacts that this module value will be inheriting.
modules: Vec<ModuleUpvar>
The list of modules that this module value will inherit.
DefineModule(usize)
A module is created from a closed-over-module value, defined when this module was created.
Trait Implementations
impl Clone for Initializer
[src]
impl Clone for Initializer
[src]fn clone(&self) -> Initializer
[src]
fn clone(&self) -> Initializer
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for Initializer
[src]
impl Debug for Initializer
[src]impl<'de> Deserialize<'de> for Initializer
[src]
impl<'de> Deserialize<'de> for Initializer
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl Serialize for Initializer
[src]
impl Serialize for Initializer
[src]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
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,