pub enum Half {
Unused,
Function,
Str,
Layout,
Table,
Args,
Builtin,
HostOp,
Count,
Case,
Offset,
}Expand description
What one 32-bit half of a payload holds.
Every id keeps its full 32 bits: ADR 0041 narrows slot operands and nothing else.
Variants§
Unused
Unused, and must be zero.
Function
Str
Layout
Table
Args
Builtin
HostOp
Count
An element count: Len::Count’s n.
Case
An enum’s case index: crate::CaseId’s number.
It is not bounds-checked here, for Half::Count’s reason: which
numbers are cases is a fact about the layout the same instruction
names, so crate::bytecode::verify’s semantic pass checks it
against that layout rather than against a table of its own.
Offset
A word offset into an object or into the value an address names.
Implementations§
Trait Implementations§
impl Copy for Half
impl Eq for Half
impl StructuralPartialEq for Half
Auto Trait Implementations§
impl Freeze for Half
impl RefUnwindSafe for Half
impl Send for Half
impl Sync for Half
impl Unpin for Half
impl UnsafeUnpin for Half
impl UnwindSafe for Half
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.