Structs§
- Alias
Term - Represents the unprojected term of a projection goal.
- Coerce
Predicate - Encodes that we have to coerce from the
a
type to theb
type. - Existential
Projection - A
ProjectionPredicate
for anExistentialTraitRef
. - Existential
Trait Ref - An existential reference to a trait, where
Self
is 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
term
to 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
a
must be a subtype ofb
. Thea_is_expected
flag indicates whether thea
type 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
ImplPolarity
since we never compute goals with “reservation” level.