pub unsafe trait Lift: Sized + ComponentType { }
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 struct
s,
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)
impl<A1, A2, A3> Lift for (A1, A2, A3)
impl<A1, A2, A3, A4> Lift for (A1, A2, A3, A4)
impl<A1, A2, A3, A4, A5> Lift for (A1, A2, A3, A4, A5)
impl<A1, A2, A3, A4, A5, A6> Lift for (A1, A2, A3, A4, A5, A6)
impl<A1, A2, A3, A4, A5, A6, A7> Lift for (A1, A2, A3, A4, A5, A6, A7)
impl<A1, A2, A3, A4, A5, A6, A7, A8> Lift for (A1, A2, A3, A4, A5, A6, A7, A8)
impl<A1, A2, A3, A4, A5, A6, A7, A8, A9> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9)
impl<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> Lift for (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
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)
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)
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)
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)
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)
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)
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)
impl<T> Lift for Option<T>where
T: Lift,
impl<T, E> Lift for Result<T, E>
impl<T: Lift> Lift for Box<[T]>
impl<T: Lift> Lift for Rc<[T]>
impl<T: Lift> Lift for Arc<[T]>
impl<T: Lift> Lift for Vec<T>
Implementors§
impl Lift for wasmtime::component::bindgen_examples::_3_interface_imports::example::interface_imports::logging::Level
docsrs
only.impl Lift for wasmtime::component::bindgen_examples::_4_imported_resources::example::imported_resources::logging::Level
docsrs
only.impl Lift for wasmtime::component::bindgen_examples::_6_exported_resources::exports::example::exported_resources::logging::Level
docsrs
only.impl Lift for wasmtime::component::bindgen_examples::_7_async::example::imported_resources::logging::Level
docsrs
only.