mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-04 19:29:07 +00:00
![]() Opportunistically resolve regions in new solver Use `opportunistic_resolve_var` during canonicalization to collapse some regions. We have to start using `CanonicalVarValues::is_identity_modulo_regions`. We also have to modify that function to consider responses like `['static, ^0, '^1, ^2]` to be an "identity" response, since because we opportunistically resolve regions, there's no longer a 1:1 mapping between canonical var values and bound var indices in the response... There's one nasty side-effect -- one test (`tests/ui/dyn-star/param-env-infer.rs`) starts to ICE because the certainty goes from `Yes` to `Maybe(Overflow)`... Not exactly sure why, though? Putting this up for discussion/investigation. r? ```@lcnr``` |
||
---|---|---|
.. | ||
assembly | ||
eval_ctxt | ||
search_graph | ||
alias_relate.rs | ||
canonicalize.rs | ||
eval_ctxt.rs | ||
fulfill.rs | ||
mod.rs | ||
opaques.rs | ||
project_goals.rs | ||
trait_goals.rs |