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(
store: impl AsContext,
func: Func,
) -> TypedFunc<Params, Results>
pub unsafe fn new_unchecked( store: impl AsContext, 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>
pub fn call(&self, store: impl AsContextMut, params: Params) -> Result<Results>
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.
§Errors
For more information on errors see the documentation on Func::call.
§Panics
This function will panic if it is called when the underlying Func is
connected to an asynchronous store.
Trait Implementations§
Auto Trait Implementations§
impl<Params, Results> Freeze for TypedFunc<Params, Results>
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
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