#[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
sourceimpl<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.
sourcepub async fn call_async<T>(
&self,
store: impl AsContextMut<Data = T>,
params: Params
) -> Result<Results, Trap> where
T: Send,
pub async fn call_async<T>(
&self,
store: impl AsContextMut<Data = T>,
params: Params
) -> Result<Results, Trap> where
T: Send,
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_async
documentation.
Panics
This function will panic if it is called when the underlying Func is
connected to a synchronous store.
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more