pub enum Extern {
Func(Func),
Global(Global),
Table(Table),
Memory(Memory),
SharedMemory(SharedMemory),
}
Expand description
An external item to a WebAssembly module, or a list of what can possibly be exported from a wasm module.
This is both returned from Instance::exports
as well as required by Instance::new
. In other
words, this is the type of extracted values from an instantiated module, and
it’s also used to provide imported values when instantiating a module.
Variants
Func(Func)
A WebAssembly func
which can be called.
Global(Global)
A WebAssembly global
which acts like a Cell<T>
of sorts, supporting
get
and set
operations.
Table(Table)
A WebAssembly table
which is an array of Val
reference types.
Memory(Memory)
A WebAssembly linear memory.
SharedMemory(SharedMemory)
A WebAssembly shared memory; these are handled separately from
Memory
.
Implementations
sourceimpl Extern
impl Extern
sourcepub fn into_func(self) -> Option<Func>
pub fn into_func(self) -> Option<Func>
Returns the underlying Func
, if this external is a function.
Returns None
if this is not a function.
sourcepub fn into_global(self) -> Option<Global>
pub fn into_global(self) -> Option<Global>
Returns the underlying Global
, if this external is a global.
Returns None
if this is not a global.
sourcepub fn into_table(self) -> Option<Table>
pub fn into_table(self) -> Option<Table>
Returns the underlying Table
, if this external is a table.
Returns None
if this is not a table.
sourcepub fn into_memory(self) -> Option<Memory>
pub fn into_memory(self) -> Option<Memory>
Returns the underlying Memory
, if this external is a memory.
Returns None
if this is not a memory.
Returns the underlying SharedMemory
, if this external is a shared
memory.
Returns None
if this is not a shared memory.
sourcepub fn ty(&self, store: impl AsContext) -> ExternType
pub fn ty(&self, store: impl AsContext) -> ExternType
Returns the type associated with this Extern
.
The store
argument provided must own this Extern
and is used to look
up type information.
Panics
Panics if this item does not belong to the store
provided.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Extern
impl Send for Extern
impl Sync for Extern
impl Unpin for Extern
impl !UnwindSafe for Extern
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> Pointable for T
impl<T> Pointable for T
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