Enum cranelift_wasm::wasmparser::HeapType
source · pub enum HeapType {
Concrete(UnpackedIndex),
Func,
Extern,
Any,
None,
NoExtern,
NoFunc,
Eq,
Struct,
Array,
I31,
}
Expand description
A heap type.
Variants§
Concrete(UnpackedIndex)
A concrete, user-defined type.
Introduced in the function-references proposal.
Func
The abstract, untyped (any) function.
Introduced in the references-types proposal.
Extern
The abstract, external heap type.
Introduced in the references-types proposal.
Any
The abstract any
heap type.
The common supertype (a.k.a. top) of all internal types.
Introduced in the GC proposal.
None
The abstract none
heap type.
The common subtype (a.k.a. bottom) of all internal types.
Introduced in the GC proposal.
NoExtern
The abstract noextern
heap type.
The common subtype (a.k.a. bottom) of all external types.
Introduced in the GC proposal.
NoFunc
The abstract nofunc
heap type.
The common subtype (a.k.a. bottom) of all function types.
Introduced in the GC proposal.
Eq
The abstract eq
heap type.
The common supertype of all heap types on which the ref.eq
instruction is allowed.
Introduced in the GC proposal.
Struct
The abstract struct
heap type.
The common supertype of all struct types.
Introduced in the GC proposal.
Array
The abstract array
heap type.
The common supertype of all array types.
Introduced in the GC proposal.
I31
The abstract i31
heap type.
It is not expected that Wasm runtimes actually store these
values on the heap, but unbox them inline into the i31ref
s
themselves instead.
Introduced in the GC proposal.
Trait Implementations§
source§impl<'a> FromReader<'a> for HeapType
impl<'a> FromReader<'a> for HeapType
source§fn from_reader(
reader: &mut BinaryReader<'a>
) -> Result<HeapType, BinaryReaderError>
fn from_reader( reader: &mut BinaryReader<'a> ) -> Result<HeapType, BinaryReaderError>
Self
from the provided binary reader, returning an
error if it is unable to do so.source§impl PartialEq for HeapType
impl PartialEq for HeapType
impl Copy for HeapType
impl Eq for HeapType
impl StructuralPartialEq for HeapType
Auto Trait Implementations§
impl Freeze for HeapType
impl RefUnwindSafe for HeapType
impl Send for HeapType
impl Sync for HeapType
impl Unpin for HeapType
impl UnwindSafe for HeapType
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
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.