about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-03-08 21:26:51 +0100
committerGitHub <noreply@github.com>2023-03-08 21:26:51 +0100
commit2428083558a3c9ab1483c299080a4b784a187b6e (patch)
treec739371dd3bdbce3f6381198ac9e21a57d0c725e /compiler/rustc_codegen_llvm/src
parent23f46c50b27e7c58026ba2a060c04b653d099412 (diff)
parent3bfcfd079d41ba73228d382677688cd3ce088545 (diff)
downloadrust-2428083558a3c9ab1483c299080a4b784a187b6e.tar.gz
rust-2428083558a3c9ab1483c299080a4b784a187b6e.zip
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``
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions