[−][src]Module rustc_infer::infer::canonical::canonicalizer

This module contains the "canonicalizer" itself.

For an overview of what canonicalization is and how it fits into rustc, check out the chapter in the rustc dev guide.

Structs

CanonicalizeAllFreeRegions
CanonicalizeFreeRegionsOtherThanStatic
CanonicalizeQueryResponse
CanonicalizeUserTypeAnnotation
Canonicalizer

Traits

CanonicalizeRegionMode

Controls how we canonicalize "free regions" that are not inference variables. This depends on what we are canonicalizing for -- e.g., if we are canonicalizing to create a query, we want to replace those with inference variables, since we want to make a maximally general query. But if we are canonicalizing a query response, then we don't typically replace free regions, as they must have been introduced from other parts of the system.