wasmtime::component

Trait Lift

Source
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§

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 ResourceAny

Source§

impl Lift for WasmStr

Source§

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

Source§

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

impl Lift for ConfigError

impl Lift for Error

impl Lift for Error

impl Lift for Error

impl Lift for Level

impl Lift for Error

impl Lift for SecretValue

impl Lift for Level

impl Lift for ObjectId

impl Lift for KeyResponse

impl Lift for Advice

impl Lift for ErrorCode

impl Lift for ErrorCode

impl Lift for IpAddress

impl Lift for Advice

impl Lift for ErrorCode

impl Lift for StreamError

impl Lift for Datetime

impl Lift for OpenFlags

impl Lift for PathFlags

impl Lift for OpenFlags

impl Lift for PathFlags

impl Lift for ErrorCode

impl Lift for HeaderError

impl Lift for Method

impl Lift for Scheme

impl Lift for Datetime

impl Lift for Datetime

impl Lift for StreamError