rust/compiler/rustc_infer
Matthias Krüger 2428083558
Rollup merge of #108839 - compiler-errors:canonicalize-the-root-var, r=lcnr
Canonicalize root var when making response from new solver

During trait solving, if we equate two inference variables `?0` and `?1` but don't equate them with any rigid types, then `InferCtxt::probe_ty_var` will return `Err` for both of these. The canonicalizer code will then canonicalize the variables independently(!), and the response will not reflect the fact that these two variables have been made equal.

This hinders inference and I also don't think it's sound? I haven't thought too much about it past that, so let's talk about it.

r? ``@lcnr``
2023-03-08 21:26:51 +01:00
..
locales Auto merge of #108709 - matthiaskrgr:rollup-j2tjbyx, r=matthiaskrgr 2023-03-03 22:45:58 +00:00
src Rollup merge of #108839 - compiler-errors:canonicalize-the-root-var, r=lcnr 2023-03-08 21:26:51 +01:00
Cargo.toml remove unused imports 2023-02-06 17:40:18 +03:00