Struct rustc_type_ir::TyVid
source · [−]pub struct TyVid {
pub(crate) private: u32,
}Expand description
A type variable ID.
Fields
private: u32Implementations
sourceimpl TyVid
impl TyVid
sourcepub const MAX_AS_U32: u32 = 4_294_967_040u32
pub const MAX_AS_U32: u32 = 4_294_967_040u32
Maximum value the index can take, as a u32.
sourcepub const fn from_usize(value: usize) -> Self
pub const fn from_usize(value: usize) -> Self
sourcepub const unsafe fn from_u32_unchecked(value: u32) -> Self
pub const unsafe fn from_u32_unchecked(value: u32) -> Self
Creates a new index from a given u32.
Safety
The provided value must be less than or equal to the maximum value for the newtype. Providing a value outside this range is undefined due to layout restrictions.
Prefer using from_u32.
Trait Implementations
sourceimpl Ord for TyVid
impl Ord for TyVid
sourceimpl PartialOrd<TyVid> for TyVid
impl PartialOrd<TyVid> for TyVid
sourcefn partial_cmp(&self, other: &TyVid) -> Option<Ordering>
fn partial_cmp(&self, other: &TyVid) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl Step for TyVid
impl Step for TyVid
sourcefn steps_between(start: &Self, end: &Self) -> Option<usize>
fn steps_between(start: &Self, end: &Self) -> Option<usize>
step_trait)Returns the number of successor steps required to get from start to end. Read more
sourcefn forward_checked(start: Self, u: usize) -> Option<Self>
fn forward_checked(start: Self, u: usize) -> Option<Self>
step_trait)Returns the value that would be obtained by taking the successor
of self count times. Read more
sourcefn backward_checked(start: Self, u: usize) -> Option<Self>
fn backward_checked(start: Self, u: usize) -> Option<Self>
step_trait)Returns the value that would be obtained by taking the predecessor
of self count times. Read more
sourcefn forward(start: Self, count: usize) -> Self
fn forward(start: Self, count: usize) -> Self
step_trait)Returns the value that would be obtained by taking the successor
of self count times. Read more
sourceunsafe fn forward_unchecked(start: Self, count: usize) -> Self
unsafe fn forward_unchecked(start: Self, count: usize) -> Self
step_trait)Returns the value that would be obtained by taking the successor
of self count times. Read more
sourcefn backward(start: Self, count: usize) -> Self
fn backward(start: Self, count: usize) -> Self
step_trait)Returns the value that would be obtained by taking the predecessor
of self count times. Read more
sourceunsafe fn backward_unchecked(start: Self, count: usize) -> Self
unsafe fn backward_unchecked(start: Self, count: usize) -> Self
step_trait)Returns the value that would be obtained by taking the predecessor
of self count times. Read more
sourceimpl UnifyKey for TyVid
impl UnifyKey for TyVid
Raw TyVid are used as the unification key for sub_relations;
they carry no values.
type Value = ()
fn index(&self) -> u32
fn from_index(i: u32) -> TyVid
fn tag() -> &'static str
sourcefn order_roots(
a: Self,
a_value: &Self::Value,
b: Self,
b_value: &Self::Value
) -> Option<(Self, Self)>
fn order_roots(
a: Self,
a_value: &Self::Value,
b: Self,
b_value: &Self::Value
) -> Option<(Self, Self)>
If true, then self should be preferred as root to other.
Note that we assume a consistent partial ordering, so
returning true implies that other.prefer_as_root_to(self)
would return false. If there is no ordering between two keys
(i.e., a.prefer_as_root_to(b) and b.prefer_as_root_to(a)
both return false) then the rank will be used to determine the
root in an optimal way. Read more
impl Copy for TyVid
impl Eq for TyVid
impl StructuralEq for TyVid
impl StructuralPartialEq for TyVid
impl TrustedStep for TyVid
Auto Trait Implementations
impl RefUnwindSafe for TyVid
impl Send for TyVid
impl Sync for TyVid
impl Unpin for TyVid
impl UnwindSafe for TyVid
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T, R> InternIteratorElement<T, R> for T
impl<T, R> InternIteratorElement<T, R> for T
type Output = R
fn intern_with<I, F>(iter: I, f: F) -> <T as InternIteratorElement<T, R>>::Output where
I: Iterator<Item = T>,
F: FnOnce(&[T]) -> R,
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 4 bytes