Struct rustc_infer::infer::type_variable::TyVidEqKey [−][src]
pub(crate) struct TyVidEqKey<'tcx> {
vid: TyVid,
phantom: PhantomData<TypeVariableValue<'tcx>>,
}
Expand description
These structs (a newtyped TyVid) are used as the unification key
for the eq_relations
; they carry a TypeVariableValue
along
with them.
Fields
vid: TyVid
phantom: PhantomData<TypeVariableValue<'tcx>>
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
type Value = TypeVariableValue<'tcx>
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
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for TyVidEqKey<'tcx>
impl<'tcx> !Send for TyVidEqKey<'tcx>
impl<'tcx> !Sync for TyVidEqKey<'tcx>
impl<'tcx> Unpin for TyVidEqKey<'tcx>
impl<'tcx> !UnwindSafe for TyVidEqKey<'tcx>
Blanket Implementations
pub fn allocate_from_iter(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = T>
) -> &'a mut [T]
Mutably borrows from an owned value. Read more
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