#[repr(transparent)]pub struct TypedFunc<Params, Results> { /* private fields */ }
Expand description
A statically typed WebAssembly function.
Values of this type represent statically type-checked WebAssembly functions.
The function within a TypedFunc
is statically known to have Params
as its
parameters and Results
as its results.
This structure is created via Func::typed
or TypedFunc::new_unchecked
.
For more documentation about this see those methods.
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 unsafe fn new_unchecked(func: Func) -> TypedFunc<Params, Results>
pub unsafe fn new_unchecked(func: Func) -> TypedFunc<Params, Results>
An unchecked version of Func::typed
which does not perform a
typecheck and simply assumes that the type declared here matches the
type of this function.
The semantics of this function are the same as Func::typed
except
that no error is returned because no typechecking is done.
Unsafety
This function only safe to call if typed
would otherwise return Ok
for the same Params
and Results
specified. If typed
would return
an error then the returned TypedFunc
is memory unsafe to invoke.
sourcepub fn func(&self) -> &Func
pub fn func(&self) -> &Func
Returns the underlying Func
that this is wrapping, losing the static
type information in the process.
sourcepub fn call(
&self,
store: impl AsContextMut,
params: Params
) -> Result<Results, Trap>
pub fn call( &self, store: impl AsContextMut, params: Params ) -> Result<Results, Trap>
Invokes this WebAssembly 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
This function will panic if it is called when the underlying Func
is
connected to an asynchronous store.