Trait wasmtime::WasmParams[][src]

pub unsafe trait WasmParams { }
Expand description

A trait used for Func::typed and with TypedFunc to represent the set of parameters for wasm functions.

This is implemented for bare types that can be passed to wasm as well as tuples of those types.

Implementations on Foreign Types

impl WasmParams for ()[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy> WasmParams for (A1,)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy> WasmParams for (A1, A2)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy> WasmParams for (A1, A2, A3)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy> WasmParams for (A1, A2, A3, A4)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy> WasmParams for (A1, A2, A3, A4, A5)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy, A7: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6, A7)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy, A7: WasmTy, A8: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6, A7, A8)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy, A7: WasmTy, A8: WasmTy, A9: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6, A7, A8, A9)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy, A7: WasmTy, A8: WasmTy, A9: WasmTy, A10: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy, A7: WasmTy, A8: WasmTy, A9: WasmTy, A10: WasmTy, A11: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy, A7: WasmTy, A8: WasmTy, A9: WasmTy, A10: WasmTy, A11: WasmTy, A12: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy, A7: WasmTy, A8: WasmTy, A9: WasmTy, A10: WasmTy, A11: WasmTy, A12: WasmTy, A13: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy, A7: WasmTy, A8: WasmTy, A9: WasmTy, A10: WasmTy, A11: WasmTy, A12: WasmTy, A13: WasmTy, A14: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy, A7: WasmTy, A8: WasmTy, A9: WasmTy, A10: WasmTy, A11: WasmTy, A12: WasmTy, A13: WasmTy, A14: WasmTy, A15: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

impl<A1: WasmTy, A2: WasmTy, A3: WasmTy, A4: WasmTy, A5: WasmTy, A6: WasmTy, A7: WasmTy, A8: WasmTy, A9: WasmTy, A10: WasmTy, A11: WasmTy, A12: WasmTy, A13: WasmTy, A14: WasmTy, A15: WasmTy, A16: WasmTy> WasmParams for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16)[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, _store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]

Implementors

impl<T> WasmParams for T where
    T: WasmTy
[src]

fn typecheck(params: impl ExactSizeIterator<Item = ValType>) -> Result<()>[src]

fn compatible_with_store(&self, store: &Store) -> bool[src]

unsafe fn invoke<R: WasmResults>(
    self,
    store: &Store,
    func: *const VMFunctionBody,
    vmctx1: *mut VMContext,
    vmctx2: *mut VMContext
) -> R
[src]