- Whenever a value may be live across a generator yield, the type of that value winds up in the
GeneratorInteriorTypeCausestruct. This struct adds additional information about such captured types that can be useful for diagnostics. In particular, it stores the span that caused a given type to be recorded, along with the scope that enclosed the value (which can be used to find the await that the value is live across).
- A user-given type annotation attached to a constant. These arise from constants that are named via paths, like
Foo::<A>::newand so forth.
- Validate that the given HirId (respectively its
local_idpart) can be safely used as a key in the maps of a TypeckResults. For that to be the case, the HirId must have the same
owneras all the other IDs in this table (signified by
hir_owner). Otherwise the HirId would be in a different frame of reference and using its
local_idwould result in lookup errors, or worse, in silently wrong data being stored/returned.
- Canonical user type annotation.
- Mapping of type annotation indices to canonical user type annotations.