pub trait RIType {
    type FFIType: IntoValue + TryFromValue;
}
Expand description

Something that can be used by the runtime interface as type to communicate between wasm and the host.

Every type that should be used in a runtime interface function signature needs to implement this trait.

Associated Types

The ffi type that is used to represent Self.

Implementations on Foreign Types

The type is passed directly.

The type is passed directly.

The type is passed directly.

The type is passed directly.

The type is passed directly.

The type is passed directly.

The type is passed directly.

The type is passed directly.

bool is passed as u8.

  • 1: true
  • 0: false

The type is passed as u64.

The u64 value is build by length 32bit << 32 | pointer 32bit

If T == u8 the length and the pointer are taken directly from Self. Otherwise Self is encoded and the length and the pointer are taken from the encoded vector.

The type is passed as u64.

The u64 value is build by length 32bit << 32 | pointer 32bit

If T == u8 the length and the pointer are taken directly from Self. Otherwise Self is encoded and the length and the pointer are taken from the encoded vector.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u32.

The u32 is the pointer to the array.

The type is passed as u64.

The u64 value is build by length 32bit << 32 | pointer 32bit

The length and the pointer are taken directly from Self.

u128/i128 is passed as u32.

The u32 is a pointer to an [u8; 16] array.

u128/i128 is passed as u32.

The u32 is a pointer to an [u8; 16] array.

Implementors

The type is passed as u64.

The u64 value is build by length 32bit << 32 | pointer 32bit

Self is encoded and the length and the pointer are taken from the encoded vector.

The type is passed as u8.

The value is corresponds to the discriminant of the variant.

The type is passed as the inner type.