Struct chalk_ir::UCanonical [−][src]
pub struct UCanonical<T: HasInterner> { pub canonical: Canonical<T>, pub universes: usize, }
Expand description
A “universe canonical” value. This is a wrapper around a
Canonical
, indicating that the universes within have been
“renumbered” to start from 0 and collapse unimportant
distinctions.
To produce one of these values, use the u_canonicalize
method.
Fields
canonical: Canonical<T>
The wrapped Canonical
.
universes: usize
The number of universes that have been collapsed.
Implementations
pub fn is_trivial_substitution(
&self,
interner: &T::Interner,
canonical_subst: &Canonical<AnswerSubst<T::Interner>>
) -> bool
[src]
pub fn is_trivial_substitution(
&self,
interner: &T::Interner,
canonical_subst: &Canonical<AnswerSubst<T::Interner>>
) -> bool
[src]Checks whether the universe canonical value is a trivial substitution (e.g. an identity substitution).
Creates an identity substitution.
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl<T> RefUnwindSafe for UCanonical<T> where
T: RefUnwindSafe,
<<T as HasInterner>::Interner as Interner>::InternedCanonicalVarKinds: RefUnwindSafe,
impl<T> Send for UCanonical<T> where
T: Send,
<<T as HasInterner>::Interner as Interner>::InternedCanonicalVarKinds: Send,
impl<T> Sync for UCanonical<T> where
T: Sync,
<<T as HasInterner>::Interner as Interner>::InternedCanonicalVarKinds: Sync,
impl<T> Unpin for UCanonical<T> where
T: Unpin,
<<T as HasInterner>::Interner as Interner>::InternedCanonicalVarKinds: Unpin,
impl<T> UnwindSafe for UCanonical<T> where
T: UnwindSafe,
<<T as HasInterner>::Interner as Interner>::InternedCanonicalVarKinds: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Cast a value to type U
using CastTo
.