Dylan DPC 64f6c00772
Rollup merge of #112443 - compiler-errors:next-solver-opportunistically-resolve-regions, r=lcnr
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```
2023-06-16 14:46:15 +05:30
..
2023-06-12 20:24:48 +08:00
2023-05-24 19:35:59 -03:00
2023-05-30 12:40:35 +02:00
2023-05-30 13:03:40 +02:00
2023-06-12 20:24:48 +08:00
2023-05-26 06:55:06 +10:00
2023-06-13 21:54:11 +00:00
2023-06-10 14:46:11 -04:00
2023-05-25 17:40:46 +00:00
2023-06-12 20:24:48 +08:00
2023-06-15 06:50:56 -04:00
2023-06-12 20:24:48 +08:00
2023-06-12 20:24:48 +08:00
2023-06-06 18:43:20 +00:00
2023-06-05 21:00:08 +00:00
2023-05-29 12:07:41 -03:00
2023-05-26 18:55:02 +01:00
2023-06-12 20:24:48 +08:00
2023-05-24 19:35:59 -03:00