Re-exportsΒ§
use std::hash::Hash;πuse std::hash::Hash;πuse std::fmt;πuse std::iter;πuse derive_where::derive_where;πuse rustc_macros::Decodable_NoContext;πuse rustc_macros::Encodable_NoContext;πuse rustc_macros::StableHash;πuse rustc_macros::StableHash_NoContext;πuse rustc_type_ir_macros::GenericTypeVisitable;πuse rustc_type_ir_macros::Lift_Generic;πuse rustc_type_ir_macros::TypeFoldable_Generic;πuse rustc_type_ir_macros::TypeVisitable_Generic;πuse crate::upcast::Upcast;πuse crate::upcast::UpcastFrom;πuse crate::visit::TypeVisitableExt as _;πuse crate as ty;πuse crate::Alias;πuse crate::Interner;πuse crate::Region;πuse crate::inherent::*;π
StructsΒ§
- Coerce
Predicate - Encodes that we have to coerce from the
atype to thebtype. - Existential
Projection - A
ProjectionClausefor anExistentialTraitRef. - Existential
Trait Ref - An existential reference to a trait where the self type
Selfis erased. - Host
Effect Clause - Normalizes
To - Used by the new solver to normalize an alias. This always expects the
termto be an unconstrained inference variable which is used as the output. - Outlives
Clause A: 'region- Projection
Clause - This kind of predicate has no direct correspondent in the syntax, but it roughly corresponds to the syntactic forms:
- Region
EqPredicate 'a == 'b. For the rationale behind having this instead of a pair of bidirectional'a: 'band'b: 'a, see this discusstion on Zulip.- Subtype
Predicate - Encodes that
amust be a subtype ofb. Thea_is_expectedflag indicates whether theatype is the type that we should label as βexpectedβ when presenting user diagnostics. - Trait
Clause - Trait
Ref - A complete reference to a trait.
EnumsΒ§
- Bound
Constness - Clause
Polarity - Polarity for a trait clause.
- Existential
Predicate - Impl
Polarity - Region
Constraint