pub enum Extern {
Func(Func),
Global(Global),
Table(Table),
Memory(Memory),
SharedMemory(SharedMemory),
Tag(Tag),
}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.
Tag(Tag)
A WebAssembly exception or control tag which can be referenced when raising an exception or stack switching.
Implementations§
Source§impl Extern
impl Extern
Sourcepub fn into_func(self) -> Option<Func>
Available on crate feature runtime only.
pub fn into_func(self) -> Option<Func>
runtime only.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>
Available on crate feature runtime only.
pub fn into_global(self) -> Option<Global>
runtime only.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>
Available on crate feature runtime only.
pub fn into_table(self) -> Option<Table>
runtime only.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>
Available on crate feature runtime only.
pub fn into_memory(self) -> Option<Memory>
runtime only.Returns the underlying Memory, if this external is a memory.
Returns None if this is not a memory.
Available on crate feature runtime only.
runtime only.Returns the underlying SharedMemory, if this external is a shared
memory.
Returns None if this is not a shared memory.
Sourcepub fn into_tag(self) -> Option<Tag>
Available on crate feature runtime only.
pub fn into_tag(self) -> Option<Tag>
runtime only.Returns the underlying Tag, if this external is a tag.
Returns None if this is not a tag.
Sourcepub fn ty(&self, store: impl AsContext) -> ExternType
Available on crate feature runtime only.
pub fn ty(&self, store: impl AsContext) -> ExternType
runtime only.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§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