Struct PackedIndex
pub struct PackedIndex(/* private fields */);Expand description
A packed representation of a type index.
This type is morally an enum of either:
-
An index into a Wasm module’s type space.
-
A
CoreTypeIdidentifier. -
An index into a recursion group’s elements.
The latter two variants are canonical while the first is not. Reading raw types will produce (1), while working with types after validation will produce (2) and (3).
Implementations§
§impl PackedIndex
impl PackedIndex
pub fn from_module_index(index: u32) -> Option<PackedIndex>
pub fn from_module_index(index: u32) -> Option<PackedIndex>
Construct a PackedIndex from an index into a module’s types space.
pub fn from_rec_group_index(index: u32) -> Option<PackedIndex>
pub fn from_rec_group_index(index: u32) -> Option<PackedIndex>
Construct a PackedIndex from an index into the index’s containing
recursion group.
pub fn from_id(id: CoreTypeId) -> Option<PackedIndex>
pub fn from_id(id: CoreTypeId) -> Option<PackedIndex>
Construct a PackedIndex from the given CoreTypeId.
pub fn is_canonical(&self) -> bool
pub fn is_canonical(&self) -> bool
Is this index in canonical form?
pub fn unpack(&self) -> UnpackedIndex
pub fn unpack(&self) -> UnpackedIndex
Uncompress this packed index into an actual enum that can be matched
on.
pub fn as_module_index(&self) -> Option<u32>
pub fn as_module_index(&self) -> Option<u32>
Get the underlying index into a module’s types space, if any.
pub fn as_rec_group_index(&self) -> Option<u32>
pub fn as_rec_group_index(&self) -> Option<u32>
Get the underlying index into the containing recursion group, if any.
pub fn as_core_type_id(&self) -> Option<CoreTypeId>
pub fn as_core_type_id(&self) -> Option<CoreTypeId>
Get the underlying CoreTypeId, if any.
Trait Implementations§
§impl Clone for PackedIndex
impl Clone for PackedIndex
§fn clone(&self) -> PackedIndex
fn clone(&self) -> PackedIndex
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for PackedIndex
impl Debug for PackedIndex
§impl Display for PackedIndex
impl Display for PackedIndex
§impl Hash for PackedIndex
impl Hash for PackedIndex
§impl Ord for PackedIndex
impl Ord for PackedIndex
§impl PartialEq for PackedIndex
impl PartialEq for PackedIndex
§impl PartialOrd for PackedIndex
impl PartialOrd for PackedIndex
impl Copy for PackedIndex
impl Eq for PackedIndex
impl StructuralPartialEq for PackedIndex
Auto Trait Implementations§
impl Freeze for PackedIndex
impl RefUnwindSafe for PackedIndex
impl Send for PackedIndex
impl Sync for PackedIndex
impl Unpin for PackedIndex
impl UnwindSafe for PackedIndex
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,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§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
§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
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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