Expand description

Code for projecting associated types out of trait references.

Structs

The projection cache. Unlike the standard caches, this can include infcx-dependent type variables, therefore we have to roll the cache back each time we roll a snapshot back, to avoid assumptions on yet-unresolved inference variables. Types with placeholder regions also have to be removed when the respective snapshot ends.

Enums

The result of trait evaluation. The order is important here as the evaluation of a list is the maximum of the evaluations.
Depending on the stage of compilation, we want projection to be more or less conservative.

Type Definitions