about summary refs log tree commit diff
path: root/compiler/rustc_hir/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-09-22 12:47:31 +0000
committerbors <bors@rust-lang.org>2022-09-22 12:47:31 +0000
commit8ab71ab59fd17a1c51d23b68eced935b92431b70 (patch)
tree8c6ee22e3d2723e4d8f4d56bac5d9e137d8a0a44 /compiler/rustc_hir/src
parentc10f7d73953a02982bbac3a504b0d22a7bda32b1 (diff)
parent3fc328dfd3c7699a9be3c889de55c354d5a5c006 (diff)
downloadrust-8ab71ab59fd17a1c51d23b68eced935b92431b70.tar.gz
rust-8ab71ab59fd17a1c51d23b68eced935b92431b70.zip
Auto merge of #100980 - compiler-errors:normalize-opaque-w-bound-vars, r=lcnr
Normalize opaques w/ bound vars

First, we reenable normalization of opaque types with escaping late bound regions to fix rust-lang/miri#2433. This essentially reverts #89285.

Second, we mitigate the perf regression found in #88862 by simplifying the way that we relate (sub and eq) GeneratorWitness types.

This relies on the fact that we construct these GeneratorWitness types somewhat particularly (with all free regions found in the witness types replaced with late bound regions) -- but those bound regions really should be treated as existential regions, not universal ones. Those two facts leads me to believe that we do not need to use the full `higher_ranked_sub` machinery to relate two generator witnesses. I'm pretty confident that this is correct, but I'm glad to discuss this further.
Diffstat (limited to 'compiler/rustc_hir/src')
0 files changed, 0 insertions, 0 deletions