about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/builder.rs
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-03-23 08:35:35 +0100
committerGitHub <noreply@github.com>2023-03-23 08:35:35 +0100
commit5d28853efe7ae11a77f5f7601a216e8ca36d6234 (patch)
tree39057754d38d0831647d115d0d81ea461e6f9551 /compiler/rustc_codegen_llvm/src/builder.rs
parenta26ac4cb94f0cd1afb2c05439f757cb3ba465b83 (diff)
parent244cdaa457d80b3e1ef90795a48833f948ac0db9 (diff)
downloadrust-5d28853efe7ae11a77f5f7601a216e8ca36d6234.tar.gz
rust-5d28853efe7ae11a77f5f7601a216e8ca36d6234.zip
Rollup merge of #109462 - compiler-errors:alias-relate, r=BoxyUwU,lcnr
Make alias-eq have a relation direction (and rename it to alias-relate)

Emitting an "alias-eq" is too strict in some situations, since we don't always want strict equality between a projection and rigid ty. Adds a relation direction.

* I could probably just reuse this [`RelationDir`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_infer/infer/combine/enum.RelationDir.html) -- happy to uplift that struct into middle and use that instead, but I didn't feel compelled to... 🤷
* Some of the matching in `compute_alias_relate_goal` is a bit verbose -- I guess I could simplify it by using [`At::relate`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_infer/infer/at/struct.At.html#method.relate) and mapping the relation-dir to a variance.
* Alternatively, I coulld simplify things by making more helper functions on `EvalCtxt` (e.g. `EvalCtxt::relate_with_direction(T, T)` that also does the nested goal registration). No preference.

r? ```@lcnr``` cc ```@BoxyUwU``` though boxy can claim it if she wants
NOTE: first commit is all the changes, the second is just renaming stuff
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/builder.rs')
0 files changed, 0 insertions, 0 deletions