#[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