pub struct TypedFunc<Params, Results> { /* private fields */ }Expand description
Implementations§
source§impl<Params, Results> TypedFunc<Params, Results>where
Params: WasmParams,
Results: WasmResults,
impl<Params, Results> TypedFunc<Params, Results>where Params: WasmParams, Results: WasmResults,
sourcepub fn call(
&self,
ctx: impl AsContextMut,
params: Params
) -> Result<Results, Trap>
pub fn call( &self, ctx: impl AsContextMut, params: Params ) -> Result<Results, Trap>
Calls this Wasm or host function with the specified parameters.
Returns either the results of the call, or a Trap if one happened.
For more information, see the Func::typed and Func::call
documentation.
Panics
Panics if ctx does not own this TypedFunc.
Errors
If the execution of the called Wasm function traps.
sourcepub fn call_resumable(
&self,
ctx: impl AsContextMut,
params: Params
) -> Result<TypedResumableCall<Results>, Trap>
pub fn call_resumable( &self, ctx: impl AsContextMut, params: Params ) -> Result<TypedResumableCall<Results>, Trap>
Calls this Wasm or host function with the specified parameters.
Returns a resumable handle to the function invocation upon enountering host errors with which it is possible to handle the error and continue the execution as if no error occured.
Note
This is a non-standard WebAssembly API and might not be available
at other WebAssembly engines. Please be aware that depending on this
feature might mean a lock-in to wasmi for users.
Errors
If the function returned a Trap originating from WebAssembly.
Trait Implementations§
impl<Params, Results> Copy for TypedFunc<Params, Results>
Auto Trait Implementations§
impl<Params, Results> RefUnwindSafe for TypedFunc<Params, Results>
impl<Params, Results> Send for TypedFunc<Params, Results>
impl<Params, Results> Sync for TypedFunc<Params, Results>
impl<Params, Results> Unpin for TypedFunc<Params, Results>
impl<Params, Results> UnwindSafe for TypedFunc<Params, Results>
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.