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.
A WebAssembly shared memory; these are handled separately from
Memory
.
Implementations§
source§impl 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§
source§fn from(r: SharedMemory) -> Self
fn from(r: SharedMemory) -> Self
Auto Trait Implementations§
impl Freeze for Extern
impl !RefUnwindSafe for Extern
impl Send for Extern
impl Sync for Extern
impl Unpin for Extern
impl !UnwindSafe for Extern
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more