Module rustc_next_trait_solver::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.
Traits§
Functions§
- Used by proof trees to be able to recompute intermediate actions while evaluating a goal. The
var_values
not only include the bound variables of the query input, but also contain all unconstrained inference vars created while evaluating this goal.