wasmtime::component

Trait Lift

Source
pub unsafe trait Lift: Sized + ComponentType { }
Available on crate features runtime and component-model only.
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§

Source§

impl Lift for bool

Source§

impl Lift for char

Source§

impl Lift for f32

Source§

impl Lift for f64

Source§

impl Lift for i8

Source§

impl Lift for i16

Source§

impl Lift for i32

Source§

impl Lift for i64

Source§

impl Lift for u8

Source§

impl Lift for u16

Source§

impl Lift for u32

Source§

impl Lift for u64

Source§

impl Lift for ()

Source§

impl Lift for Box<str>

Source§

impl Lift for Rc<str>

Source§

impl Lift for String

Source§

impl Lift for Arc<str>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§

Source§

impl Lift for wasmtime::component::bindgen_examples::_3_interface_imports::example::interface_imports::logging::Level

Available on docsrs only.
Source§

impl Lift for wasmtime::component::bindgen_examples::_4_imported_resources::example::imported_resources::logging::Level

Available on docsrs only.
Source§

impl Lift for wasmtime::component::bindgen_examples::_6_exported_resources::exports::example::exported_resources::logging::Level

Available on docsrs only.
Source§

impl Lift for wasmtime::component::bindgen_examples::_7_async::example::imported_resources::logging::Level

Available on docsrs only.
Source§

impl Lift for ResourceAny

Source§

impl Lift for WasmStr

Source§

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

Source§

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