Open
Description
whenever we have multiple candidates we use fn try_merge_responses
to try and merge them. This function is supposed to be complete.
We currently merge responses if they are all equal or alternatively if one of them has no external constraints.
This is quite fragile because it breaks the moment there are any region constraints as these sometimes contain '0: '0
constraints. We should remove those. We currently only opportunistically resolve region vars during canonicalization but the filtering should happen before then 🤔 It also does not work for any normalizes-to
goal as their whole point is to constrain the term
.
I feel like we should replace this with a proper subset check instead.
Activity
compiler-errors commentedon Jul 28, 2023
(cc rust-lang/rust#112875 (comment), where this is needed because of some trivial
'0: '0
region that should be filtered duringcompute_external_query_constraints
, but can't be currently.)lcnr commentedon Jan 29, 2024
This currently has some non-trivial interactions with the
ParamEnv
candidate incompleteness: https://rust.godbolt.org/z/bq7K3zox3cc #12
Auto merge of rust-lang#119820 - lcnr:leak-check-2, r=jackh726
Auto merge of #119820 - lcnr:leak-check-2, r=jackh726
Squashed commit of the following:
lcnr commentedon Jan 29, 2025
related to #127, we will likely end up supporting OR-region constraints