Structs§
- Alias
Term - Represents the unprojected term of a projection goal.
- Coerce
Predicate - Encodes that we have to coerce from the
atype to thebtype. - Existential
Projection - A
ProjectionPredicatefor anExistentialTraitRef. - Existential
Trait Ref - An existential reference to a trait, where
Selfis erased. For example, the trait objectTrait<'a, 'b, X, Y>is: - Host
Effect Predicate - 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
Predicate A: 'region- Projection
Predicate - This kind of predicate has no direct correspondent in the syntax, but it roughly corresponds to the syntactic forms:
- 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
Predicate - Trait
Ref - A complete reference to a trait. These take numerous guises in syntax, but perhaps the most recognizable form is in a where-clause:
Enums§
- Alias
Term Kind - Bound
Constness - Existential
Predicate - Impl
Polarity - Predicate
Polarity - Polarity for a trait predicate. May either be negative or positive.
Distinguished from
ImplPolaritysince we never compute goals with “reservation” level.