Module rustc_trait_selection::solve::eval_ctxt::canonical
source · Expand description
Canonicalization is used to separate some goal from its context, throwing away unnecessary information in the process.
This is necessary to cache goals containing inference variables
and placeholders without restricting them to the current InferCtxt
.
Canonicalization is fairly involved, for more details see the relevant section of the rustc-dev-guide.