[][src]Trait wasm_bindgen::convert::IntoWasmAbi

pub trait IntoWasmAbi: WasmDescribe {
    type Abi: WasmAbi;
    fn into_abi(self, extra: &mut dyn Stack) -> Self::Abi;
}

A trait for anything that can be converted into a type that can cross the wasm ABI directly, eg u32 or f64.

This is the opposite operation as FromWasmAbi and Ref[Mut]FromWasmAbi.

Associated Types

type Abi: WasmAbi

The wasm ABI type that this converts into when crossing the ABI boundary.

Loading content...

Required methods

fn into_abi(self, extra: &mut dyn Stack) -> Self::Abi

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.

Loading content...

Implementations on Foreign Types

impl<'a, 'b, R> IntoWasmAbi for &'a (dyn Fn() -> R + 'b) where
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, R> IntoWasmAbi for &'a mut (dyn FnMut() -> R + 'b) where
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, R> IntoWasmAbi for &'a (dyn Fn(A) -> R + 'b) where
    A: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, R> IntoWasmAbi for &'a mut (dyn FnMut(A) -> R + 'b) where
    A: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, R> IntoWasmAbi for &'a (dyn Fn(A, B) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, R> IntoWasmAbi for &'a mut (dyn FnMut(A, B) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, C, R> IntoWasmAbi for &'a (dyn Fn(A, B, C) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    C: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, C, R> IntoWasmAbi for &'a mut (dyn FnMut(A, B, C) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    C: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, C, D, R> IntoWasmAbi for &'a (dyn Fn(A, B, C, D) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    C: FromWasmAbi,
    D: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, C, D, R> IntoWasmAbi for &'a mut (dyn FnMut(A, B, C, D) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    C: FromWasmAbi,
    D: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, C, D, E, R> IntoWasmAbi for &'a (dyn Fn(A, B, C, D, E) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    C: FromWasmAbi,
    D: FromWasmAbi,
    E: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, C, D, E, R> IntoWasmAbi for &'a mut (dyn FnMut(A, B, C, D, E) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    C: FromWasmAbi,
    D: FromWasmAbi,
    E: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, C, D, E, F, R> IntoWasmAbi for &'a (dyn Fn(A, B, C, D, E, F) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    C: FromWasmAbi,
    D: FromWasmAbi,
    E: FromWasmAbi,
    F: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, C, D, E, F, R> IntoWasmAbi for &'a mut (dyn FnMut(A, B, C, D, E, F) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    C: FromWasmAbi,
    D: FromWasmAbi,
    E: FromWasmAbi,
    F: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, C, D, E, F, G, R> IntoWasmAbi for &'a (dyn Fn(A, B, C, D, E, F, G) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    C: FromWasmAbi,
    D: FromWasmAbi,
    E: FromWasmAbi,
    F: FromWasmAbi,
    G: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, B, C, D, E, F, G, R> IntoWasmAbi for &'a mut (dyn FnMut(A, B, C, D, E, F, G) -> R + 'b) where
    A: FromWasmAbi,
    B: FromWasmAbi,
    C: FromWasmAbi,
    D: FromWasmAbi,
    E: FromWasmAbi,
    F: FromWasmAbi,
    G: FromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, R> IntoWasmAbi for &'a (dyn Fn(&A) -> R + 'b) where
    A: RefFromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl<'a, 'b, A, R> IntoWasmAbi for &'a mut (dyn FnMut(&A) -> R + 'b) where
    A: RefFromWasmAbi,
    R: ReturnWasmAbi
[src]

type Abi = WasmSlice

impl IntoWasmAbi for i32[src]

type Abi = i32

impl IntoWasmAbi for Option<i32>[src]

type Abi = WasmOptionalI32

impl IntoWasmAbi for isize[src]

type Abi = i32

impl IntoWasmAbi for Option<isize>[src]

type Abi = WasmOptionalI32

impl IntoWasmAbi for u32[src]

type Abi = u32

impl IntoWasmAbi for Option<u32>[src]

type Abi = WasmOptionalU32

impl IntoWasmAbi for usize[src]

type Abi = u32

impl IntoWasmAbi for Option<usize>[src]

type Abi = WasmOptionalU32

impl IntoWasmAbi for f32[src]

type Abi = f32

impl IntoWasmAbi for Option<f32>[src]

type Abi = WasmOptionalF32

impl IntoWasmAbi for f64[src]

type Abi = f64

impl IntoWasmAbi for Option<f64>[src]

type Abi = WasmOptionalF64

impl IntoWasmAbi for i8[src]

type Abi = u32

impl IntoWasmAbi for u8[src]

type Abi = u32

impl IntoWasmAbi for i16[src]

type Abi = u32

impl IntoWasmAbi for u16[src]

type Abi = u32

impl IntoWasmAbi for i64[src]

type Abi = Wasm64

impl IntoWasmAbi for Option<i64>[src]

type Abi = WasmOptional64

impl IntoWasmAbi for u64[src]

type Abi = Wasm64

impl IntoWasmAbi for Option<u64>[src]

type Abi = WasmOptional64

impl IntoWasmAbi for bool[src]

type Abi = u32

impl IntoWasmAbi for char[src]

type Abi = u32

impl<T> IntoWasmAbi for *const T[src]

type Abi = u32

impl<T> IntoWasmAbi for *mut T[src]

type Abi = u32

impl<T: OptionIntoWasmAbi> IntoWasmAbi for Option<T>[src]

type Abi = T::Abi

impl IntoWasmAbi for ()[src]

type Abi = ()

impl IntoWasmAbi for Box<[u8]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [u8][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [u8][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[i8]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [i8][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [i8][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[u16]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [u16][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [u16][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[i16]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [i16][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [i16][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[u32]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [u32][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [u32][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[i32]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [i32][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [i32][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[u64]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [u64][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [u64][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[i64]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [i64][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [i64][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[usize]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [usize][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [usize][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[isize]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [isize][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [isize][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[f32]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [f32][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [f32][src]

type Abi = WasmSlice

impl IntoWasmAbi for Box<[f64]>[src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a [f64][src]

type Abi = WasmSlice

impl<'a> IntoWasmAbi for &'a mut [f64][src]

type Abi = WasmSlice

impl<T> IntoWasmAbi for Vec<T> where
    Box<[T]>: IntoWasmAbi<Abi = WasmSlice>, 
[src]

type Abi = <Box<[T]> as IntoWasmAbi>::Abi

impl IntoWasmAbi for String[src]

type Abi = <Vec<u8> as IntoWasmAbi>::Abi

impl<'a> IntoWasmAbi for &'a str[src]

type Abi = <&'a [u8] as IntoWasmAbi>::Abi

impl IntoWasmAbi for Box<[JsValue]>[src]

type Abi = WasmSlice

Loading content...

Implementors

impl IntoWasmAbi for JsValue[src]

type Abi = u32

impl<'a> IntoWasmAbi for &'a JsValue[src]

type Abi = u32

impl<'a, T: ?Sized> IntoWasmAbi for &'a Closure<T> where
    T: WasmClosure, 
[src]

type Abi = u32

impl<T: IntoWasmAbi> IntoWasmAbi for Clamped<T>[src]

type Abi = T::Abi

Loading content...