pub trait FromFFIValue: RIType {
    type SelfInstance;

    // Required method
    fn from_ffi_value(
        context: &mut dyn FunctionContext,
        arg: Self::FFIType
    ) -> Result<Self::SelfInstance>;
}
Expand description

Something that can be created from a ffi value. Implementations are safe to assume that the arg given to from_ffi_value is only generated by the corresponding wasm::IntoFFIValue implementation.

Required Associated Types§

source

type SelfInstance

As Self can be an unsized type, it needs to be represented by a sized type at the host. This SelfInstance is the sized type.

Required Methods§

source

fn from_ffi_value( context: &mut dyn FunctionContext, arg: Self::FFIType ) -> Result<Self::SelfInstance>

Create SelfInstance from the given

Implementations on Foreign Types§

source§

impl FromFFIValue for [u8; 47]

§

type SelfInstance = [u8; 47]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 47]>

source§

impl FromFFIValue for u8

source§

impl FromFFIValue for [u8; 29]

§

type SelfInstance = [u8; 29]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 29]>

source§

impl FromFFIValue for i64

source§

impl FromFFIValue for [u8; 84]

§

type SelfInstance = [u8; 84]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 84]>

source§

impl FromFFIValue for [u8; 20]

§

type SelfInstance = [u8; 20]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 20]>

source§

impl FromFFIValue for [u8; 78]

§

type SelfInstance = [u8; 78]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 78]>

source§

impl FromFFIValue for [u8; 77]

§

type SelfInstance = [u8; 77]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 77]>

source§

impl FromFFIValue for [u8; 68]

§

type SelfInstance = [u8; 68]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 68]>

source§

impl FromFFIValue for [u8; 1]

§

type SelfInstance = [u8; 1]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 1]>

source§

impl FromFFIValue for [u8; 8]

§

type SelfInstance = [u8; 8]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 8]>

source§

impl FromFFIValue for [u8; 46]

§

type SelfInstance = [u8; 46]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 46]>

source§

impl FromFFIValue for [u8; 5]

§

type SelfInstance = [u8; 5]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 5]>

source§

impl FromFFIValue for [u8; 79]

§

type SelfInstance = [u8; 79]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 79]>

source§

impl FromFFIValue for [u8; 62]

§

type SelfInstance = [u8; 62]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 62]>

source§

impl FromFFIValue for [u8; 14]

§

type SelfInstance = [u8; 14]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 14]>

source§

impl FromFFIValue for [u8; 60]

§

type SelfInstance = [u8; 60]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 60]>

source§

impl FromFFIValue for [u8; 41]

§

type SelfInstance = [u8; 41]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 41]>

source§

impl FromFFIValue for [u8; 3]

§

type SelfInstance = [u8; 3]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 3]>

source§

impl FromFFIValue for [u8; 15]

§

type SelfInstance = [u8; 15]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 15]>

source§

impl FromFFIValue for [u8; 76]

§

type SelfInstance = [u8; 76]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 76]>

source§

impl FromFFIValue for [u8; 35]

§

type SelfInstance = [u8; 35]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 35]>

source§

impl FromFFIValue for [u8; 24]

§

type SelfInstance = [u8; 24]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 24]>

source§

impl FromFFIValue for [u8; 96]

§

type SelfInstance = [u8; 96]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 96]>

source§

impl FromFFIValue for [u8; 53]

§

type SelfInstance = [u8; 53]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 53]>

source§

impl FromFFIValue for [u8; 37]

§

type SelfInstance = [u8; 37]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 37]>

source§

impl FromFFIValue for [u8; 49]

§

type SelfInstance = [u8; 49]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 49]>

source§

impl FromFFIValue for [u8; 45]

§

type SelfInstance = [u8; 45]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 45]>

source§

impl<T: 'static + Decode> FromFFIValue for Vec<T>

§

type SelfInstance = Vec<T, Global>

source§

fn from_ffi_value(context: &mut dyn FunctionContext, arg: u64) -> Result<Vec<T>>

source§

impl FromFFIValue for [u8; 43]

§

type SelfInstance = [u8; 43]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 43]>

source§

impl FromFFIValue for [u8; 75]

§

type SelfInstance = [u8; 75]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 75]>

source§

impl FromFFIValue for [u8; 58]

§

type SelfInstance = [u8; 58]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 58]>

source§

impl FromFFIValue for [u8; 92]

§

type SelfInstance = [u8; 92]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 92]>

source§

impl FromFFIValue for [u8; 55]

§

type SelfInstance = [u8; 55]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 55]>

source§

impl FromFFIValue for [u8; 27]

§

type SelfInstance = [u8; 27]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 27]>

source§

impl FromFFIValue for [u8; 23]

§

type SelfInstance = [u8; 23]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 23]>

source§

impl FromFFIValue for [u8; 71]

§

type SelfInstance = [u8; 71]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 71]>

source§

impl FromFFIValue for str

source§

impl FromFFIValue for [u8; 86]

§

type SelfInstance = [u8; 86]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 86]>

source§

impl FromFFIValue for [u8; 30]

§

type SelfInstance = [u8; 30]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 30]>

source§

impl FromFFIValue for [u8; 59]

§

type SelfInstance = [u8; 59]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 59]>

source§

impl FromFFIValue for u32

source§

impl FromFFIValue for [u8; 63]

§

type SelfInstance = [u8; 63]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 63]>

source§

impl FromFFIValue for [u8; 81]

§

type SelfInstance = [u8; 81]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 81]>

source§

impl FromFFIValue for [u8; 80]

§

type SelfInstance = [u8; 80]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 80]>

source§

impl FromFFIValue for [u8; 57]

§

type SelfInstance = [u8; 57]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 57]>

source§

impl FromFFIValue for [u8; 89]

§

type SelfInstance = [u8; 89]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 89]>

source§

impl FromFFIValue for bool

source§

impl FromFFIValue for i128

source§

impl FromFFIValue for [u8; 85]

§

type SelfInstance = [u8; 85]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 85]>

source§

impl FromFFIValue for [u8; 38]

§

type SelfInstance = [u8; 38]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 38]>

source§

impl FromFFIValue for [u8; 52]

§

type SelfInstance = [u8; 52]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 52]>

source§

impl FromFFIValue for u128

source§

impl FromFFIValue for i32

source§

impl FromFFIValue for [u8; 82]

§

type SelfInstance = [u8; 82]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 82]>

source§

impl FromFFIValue for [u8; 19]

§

type SelfInstance = [u8; 19]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 19]>

source§

impl<T: 'static + Decode> FromFFIValue for [T]

§

type SelfInstance = Vec<T, Global>

source§

fn from_ffi_value(context: &mut dyn FunctionContext, arg: u64) -> Result<Vec<T>>

source§

impl FromFFIValue for i8

source§

impl FromFFIValue for [u8; 51]

§

type SelfInstance = [u8; 51]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 51]>

source§

impl FromFFIValue for [u8; 74]

§

type SelfInstance = [u8; 74]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 74]>

source§

impl FromFFIValue for [u8; 73]

§

type SelfInstance = [u8; 73]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 73]>

source§

impl FromFFIValue for [u8; 11]

§

type SelfInstance = [u8; 11]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 11]>

source§

impl FromFFIValue for [u8; 26]

§

type SelfInstance = [u8; 26]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 26]>

source§

impl FromFFIValue for [u8; 9]

§

type SelfInstance = [u8; 9]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 9]>

source§

impl FromFFIValue for [u8; 4]

§

type SelfInstance = [u8; 4]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 4]>

source§

impl FromFFIValue for [u8; 36]

§

type SelfInstance = [u8; 36]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 36]>

source§

impl FromFFIValue for [u8; 40]

§

type SelfInstance = [u8; 40]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 40]>

source§

impl FromFFIValue for [u8; 31]

§

type SelfInstance = [u8; 31]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 31]>

source§

impl FromFFIValue for [u8; 25]

§

type SelfInstance = [u8; 25]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 25]>

source§

impl FromFFIValue for [u8; 17]

§

type SelfInstance = [u8; 17]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 17]>

source§

impl FromFFIValue for [u8; 34]

§

type SelfInstance = [u8; 34]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 34]>

source§

impl FromFFIValue for [u8; 94]

§

type SelfInstance = [u8; 94]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 94]>

source§

impl FromFFIValue for [u8; 91]

§

type SelfInstance = [u8; 91]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 91]>

source§

impl FromFFIValue for [u8; 18]

§

type SelfInstance = [u8; 18]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 18]>

source§

impl FromFFIValue for [u8; 48]

§

type SelfInstance = [u8; 48]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 48]>

source§

impl FromFFIValue for [u8; 50]

§

type SelfInstance = [u8; 50]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 50]>

source§

impl FromFFIValue for [u8; 54]

§

type SelfInstance = [u8; 54]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 54]>

source§

impl FromFFIValue for [u8; 90]

§

type SelfInstance = [u8; 90]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 90]>

source§

impl FromFFIValue for [u8; 12]

§

type SelfInstance = [u8; 12]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 12]>

source§

impl FromFFIValue for [u8; 44]

§

type SelfInstance = [u8; 44]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 44]>

source§

impl FromFFIValue for [u8; 22]

§

type SelfInstance = [u8; 22]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 22]>

source§

impl FromFFIValue for [u8; 70]

§

type SelfInstance = [u8; 70]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 70]>

source§

impl FromFFIValue for [u8; 2]

§

type SelfInstance = [u8; 2]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 2]>

source§

impl FromFFIValue for [u8; 64]

§

type SelfInstance = [u8; 64]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 64]>

source§

impl FromFFIValue for [u8; 72]

§

type SelfInstance = [u8; 72]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 72]>

source§

impl FromFFIValue for [u8; 95]

§

type SelfInstance = [u8; 95]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 95]>

source§

impl FromFFIValue for [u8; 66]

§

type SelfInstance = [u8; 66]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 66]>

source§

impl FromFFIValue for [u8; 13]

§

type SelfInstance = [u8; 13]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 13]>

source§

impl FromFFIValue for [u8; 69]

§

type SelfInstance = [u8; 69]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 69]>

source§

impl FromFFIValue for [u8; 21]

§

type SelfInstance = [u8; 21]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 21]>

source§

impl FromFFIValue for [u8; 93]

§

type SelfInstance = [u8; 93]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 93]>

source§

impl FromFFIValue for [u8; 42]

§

type SelfInstance = [u8; 42]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 42]>

source§

impl FromFFIValue for [u8; 16]

§

type SelfInstance = [u8; 16]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 16]>

source§

impl FromFFIValue for [u8; 39]

§

type SelfInstance = [u8; 39]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 39]>

source§

impl FromFFIValue for [u8; 28]

§

type SelfInstance = [u8; 28]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 28]>

source§

impl FromFFIValue for [u8; 6]

§

type SelfInstance = [u8; 6]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 6]>

source§

impl FromFFIValue for [u8; 65]

§

type SelfInstance = [u8; 65]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 65]>

source§

impl FromFFIValue for u64

source§

impl FromFFIValue for [u8; 7]

§

type SelfInstance = [u8; 7]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 7]>

source§

impl FromFFIValue for [u8; 33]

§

type SelfInstance = [u8; 33]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 33]>

source§

impl FromFFIValue for i16

source§

impl FromFFIValue for [u8; 83]

§

type SelfInstance = [u8; 83]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 83]>

source§

impl FromFFIValue for [u8; 61]

§

type SelfInstance = [u8; 61]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 61]>

source§

impl FromFFIValue for [u8; 87]

§

type SelfInstance = [u8; 87]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 87]>

source§

impl FromFFIValue for [u8; 88]

§

type SelfInstance = [u8; 88]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 88]>

source§

impl FromFFIValue for [u8; 10]

§

type SelfInstance = [u8; 10]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 10]>

source§

impl FromFFIValue for u16

source§

impl FromFFIValue for [u8; 56]

§

type SelfInstance = [u8; 56]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 56]>

source§

impl FromFFIValue for [u8; 67]

§

type SelfInstance = [u8; 67]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 67]>

source§

impl FromFFIValue for [u8; 32]

§

type SelfInstance = [u8; 32]

source§

fn from_ffi_value( context: &mut dyn FunctionContext, arg: u32 ) -> Result<[u8; 32]>

Implementors§