pub enum AbstractHeapType {
Func,
Extern,
Any,
None,
NoExtern,
NoFunc,
Eq,
Struct,
Array,
I31,
Exn,
NoExn,
}
Expand description
An abstract heap type.
Variants§
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.
Exn
The abstraction exception
heap type.
Introduced in the exception-handling proposal.
NoExn
The abstract noexn
heap type.
The common subtype (a.k.a. bottom) of all exception types.
Introduced in the exception-handling proposal.
Trait Implementations§
Source§impl Clone for AbstractHeapType
impl Clone for AbstractHeapType
Source§fn clone(&self) -> AbstractHeapType
fn clone(&self) -> AbstractHeapType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for AbstractHeapType
impl Debug for AbstractHeapType
Source§impl<'a> FromReader<'a> for AbstractHeapType
impl<'a> FromReader<'a> for AbstractHeapType
Source§fn from_reader(
reader: &mut BinaryReader<'a>,
) -> Result<AbstractHeapType, BinaryReaderError>
fn from_reader( reader: &mut BinaryReader<'a>, ) -> Result<AbstractHeapType, BinaryReaderError>
Self
from the provided binary reader, returning an
error if it is unable to do so.Source§impl Hash for AbstractHeapType
impl Hash for AbstractHeapType
Source§impl PartialEq for AbstractHeapType
impl PartialEq for AbstractHeapType
impl Copy for AbstractHeapType
impl Eq for AbstractHeapType
impl StructuralPartialEq for AbstractHeapType
Auto Trait Implementations§
impl Freeze for AbstractHeapType
impl RefUnwindSafe for AbstractHeapType
impl Send for AbstractHeapType
impl Sync for AbstractHeapType
impl Unpin for AbstractHeapType
impl UnwindSafe for AbstractHeapType
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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.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§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more