wiggle::wasmtime_crate::component

Trait Lift

pub unsafe trait Lift: Sized + ComponentType { }
Expand description

Host types which can be created from the canonical ABI.

This is the mirror of the Lower trait where it represents the capability of acquiring items from WebAssembly and passing them to the host.

Built-in types to Rust such as Option<T> implement this trait as appropriate. For a mapping of component model to Rust types see ComponentType.

For user-defined types, for example record types mapped to Rust structs, this crate additionally has #[derive(Lift)].

Note that like ComponentType the definition of this trait is intended to be an internal implementation detail of Wasmtime at this time. It’s recommended to use the #[derive(Lift)] implementation instead.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl Lift for bool

§

impl Lift for char

§

impl Lift for f32

§

impl Lift for f64

§

impl Lift for i8

§

impl Lift for i16

§

impl Lift for i32

§

impl Lift for i64

§

impl Lift for u8

§

impl Lift for u16

§

impl Lift for u32

§

impl Lift for u64

§

impl Lift for ()

§

impl Lift for Box<str>

§

impl Lift for Rc<str>

§

impl Lift for String

§

impl Lift for Arc<str>

§

impl<A1> Lift for (A1,)
where A1: Lift,

§

impl<A1, A2> Lift for (A1, A2)
where A1: Lift, A2: Lift,

§

impl<A1, A2, A3> Lift for (A1, A2, A3)
where A1: Lift, A2: Lift, A3: Lift,

§

impl<A1, A2, A3, A4> Lift for (A1, A2, A3, A4)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift,

§

impl<A1, A2, A3, A4, A5> Lift for (A1, A2, A3, A4, A5)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift,

§

impl<A1, A2, A3, A4, A5, A6> Lift for (A1, A2, A3, A4, A5, A6)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7> Lift for (A1, A2, A3, A4, A5, A6, A7)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7, A8> Lift for (A1, A2, A3, A4, A5, A6, A7, A8)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift, A8: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7, A8, A9> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift, A8: Lift, A9: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift, A8: Lift, A9: Lift, A10: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift, A8: Lift, A9: Lift, A10: Lift, A11: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift, A8: Lift, A9: Lift, A10: Lift, A11: Lift, A12: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift, A8: Lift, A9: Lift, A10: Lift, A11: Lift, A12: Lift, A13: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift, A8: Lift, A9: Lift, A10: Lift, A11: Lift, A12: Lift, A13: Lift, A14: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift, A8: Lift, A9: Lift, A10: Lift, A11: Lift, A12: Lift, A13: Lift, A14: Lift, A15: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift, A8: Lift, A9: Lift, A10: Lift, A11: Lift, A12: Lift, A13: Lift, A14: Lift, A15: Lift, A16: Lift,

§

impl<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17)
where A1: Lift, A2: Lift, A3: Lift, A4: Lift, A5: Lift, A6: Lift, A7: Lift, A8: Lift, A9: Lift, A10: Lift, A11: Lift, A12: Lift, A13: Lift, A14: Lift, A15: Lift, A16: Lift, A17: Lift,

§

impl<T> Lift for Option<T>
where T: Lift,

§

impl<T> Lift for Box<[T]>
where T: Lift,

§

impl<T> Lift for Rc<[T]>
where T: Lift,

§

impl<T> Lift for Arc<[T]>
where T: Lift,

§

impl<T> Lift for Vec<T>
where T: Lift,

§

impl<T, E> Lift for Result<T, E>
where T: Lift, E: Lift,

Implementors§

§

impl Lift for ResourceAny

§

impl Lift for WasmStr

§

impl<T> Lift for Resource<T>
where T: 'static,

§

impl<T> Lift for WasmList<T>
where T: Lift,