pub enum AbiKind {
Ctx,
Gc,
RawI64,
RawU32,
Ptr,
}Expand description
The kind of one ABI parameter — what a value in that position is, which fixes the machine type the caller must pass.
Variants§
Ctx
*mut RuntimeContext. Always the first parameter of every wrapper.
Gc
A GcRef — a non-null pointer to a GcHeader. Pointer-width.
RawI64
A raw, unboxed i64. Not a GC reference: never rooted, never traced.
RawU32
A raw, unboxed u32. Narrower than a machine word, so passing an i64
here is exactly the mismatch this manifest exists to prevent.
Ptr
A pointer-width raw word that is not a GcRef: a *const u8, a
descriptor or schema pointer, a frame pointer, or a usize length.
Trait Implementations§
impl Copy for AbiKind
impl Eq for AbiKind
impl StructuralPartialEq for AbiKind
Auto Trait Implementations§
impl Freeze for AbiKind
impl RefUnwindSafe for AbiKind
impl Send for AbiKind
impl Sync for AbiKind
impl Unpin for AbiKind
impl UnsafeUnpin for AbiKind
impl UnwindSafe for AbiKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more