[][src]Trait wasmer_runtime_core::typed_func::WasmTypeList

pub trait WasmTypeList {
    type CStruct;
    type RetArray: AsMut<[u64]>;
    fn from_ret_array(array: Self::RetArray) -> Self;
fn empty_ret_array() -> Self::RetArray;
fn from_c_struct(c_struct: Self::CStruct) -> Self;
fn into_c_struct(self) -> Self::CStruct;
fn types() -> &'static [Type];
unsafe fn call<Rets>(
        self,
        f: NonNull<Func>,
        wasm: Wasm,
        ctx: *mut Ctx
    ) -> Result<Rets, RuntimeError>
    where
        Rets: WasmTypeList
; }

Associated Types

Loading content...

Required methods

fn from_ret_array(array: Self::RetArray) -> Self

fn empty_ret_array() -> Self::RetArray

fn from_c_struct(c_struct: Self::CStruct) -> Self

fn into_c_struct(self) -> Self::CStruct

fn types() -> &'static [Type]

unsafe fn call<Rets>(
    self,
    f: NonNull<Func>,
    wasm: Wasm,
    ctx: *mut Ctx
) -> Result<Rets, RuntimeError> where
    Rets: WasmTypeList

Loading content...

Implementations on Foreign Types

impl WasmTypeList for Infallible[src]

type CStruct = Infallible

type RetArray = [u64; 0]

impl<A: WasmExternType> WasmTypeList for (A,)[src]

type CStruct = S1<A>

type RetArray = [u64; 1]

impl WasmTypeList for ()[src]

type CStruct = S0

type RetArray = [u64; 0]

impl<A: WasmExternType, B: WasmExternType> WasmTypeList for (A, B)[src]

type CStruct = S2<A, B>

type RetArray = [u64; 2]

impl<A: WasmExternType, B: WasmExternType, C: WasmExternType> WasmTypeList for (A, B, C)[src]

type CStruct = S3<A, B, C>

type RetArray = [u64; 3]

impl<A: WasmExternType, B: WasmExternType, C: WasmExternType, D: WasmExternType> WasmTypeList for (A, B, C, D)[src]

type CStruct = S4<A, B, C, D>

type RetArray = [u64; 4]

impl<A: WasmExternType, B: WasmExternType, C: WasmExternType, D: WasmExternType, E: WasmExternType> WasmTypeList for (A, B, C, D, E)[src]

type CStruct = S5<A, B, C, D, E>

type RetArray = [u64; 5]

impl<A: WasmExternType, B: WasmExternType, C: WasmExternType, D: WasmExternType, E: WasmExternType, F: WasmExternType> WasmTypeList for (A, B, C, D, E, F)[src]

type CStruct = S6<A, B, C, D, E, F>

type RetArray = [u64; 6]

impl<A: WasmExternType, B: WasmExternType, C: WasmExternType, D: WasmExternType, E: WasmExternType, F: WasmExternType, G: WasmExternType> WasmTypeList for (A, B, C, D, E, F, G)[src]

type CStruct = S7<A, B, C, D, E, F, G>

type RetArray = [u64; 7]

impl<A: WasmExternType, B: WasmExternType, C: WasmExternType, D: WasmExternType, E: WasmExternType, F: WasmExternType, G: WasmExternType, H: WasmExternType> WasmTypeList for (A, B, C, D, E, F, G, H)[src]

type CStruct = S8<A, B, C, D, E, F, G, H>

type RetArray = [u64; 8]

impl<A: WasmExternType, B: WasmExternType, C: WasmExternType, D: WasmExternType, E: WasmExternType, F: WasmExternType, G: WasmExternType, H: WasmExternType, I: WasmExternType> WasmTypeList for (A, B, C, D, E, F, G, H, I)[src]

type CStruct = S9<A, B, C, D, E, F, G, H, I>

type RetArray = [u64; 9]

impl<A: WasmExternType, B: WasmExternType, C: WasmExternType, D: WasmExternType, E: WasmExternType, F: WasmExternType, G: WasmExternType, H: WasmExternType, I: WasmExternType, J: WasmExternType> WasmTypeList for (A, B, C, D, E, F, G, H, I, J)[src]

type CStruct = S10<A, B, C, D, E, F, G, H, I, J>

type RetArray = [u64; 10]

impl<A: WasmExternType, B: WasmExternType, C: WasmExternType, D: WasmExternType, E: WasmExternType, F: WasmExternType, G: WasmExternType, H: WasmExternType, I: WasmExternType, J: WasmExternType, K: WasmExternType> WasmTypeList for (A, B, C, D, E, F, G, H, I, J, K)[src]

type CStruct = S11<A, B, C, D, E, F, G, H, I, J, K>

type RetArray = [u64; 11]

impl<A: WasmExternType, B: WasmExternType, C: WasmExternType, D: WasmExternType, E: WasmExternType, F: WasmExternType, G: WasmExternType, H: WasmExternType, I: WasmExternType, J: WasmExternType, K: WasmExternType, L: WasmExternType> WasmTypeList for (A, B, C, D, E, F, G, H, I, J, K, L)[src]

type CStruct = S12<A, B, C, D, E, F, G, H, I, J, K, L>

type RetArray = [u64; 12]

Loading content...

Implementors

impl<A: WasmExternType> WasmTypeList for A[src]

type CStruct = S1<A>

type RetArray = [u64; 1]

Loading content...