Return nested obligations from canonical response var unification#109493
Merged
bors merged 2 commits intorust-lang:masterfrom Mar 24, 2023
Merged
Return nested obligations from canonical response var unification#109493bors merged 2 commits intorust-lang:masterfrom
bors merged 2 commits intorust-lang:masterfrom
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Handle alias-eq obligations being emitted from
instantiate_and_apply_query_responsein:EvalCtxt- by processing the nested obligations in the next loop bynew_goalsFulfillCtxt- by adding the nested obligations to the fulfillment's pending obligationsInferCtxt::evaluate_obligation-by returningsame behavior as above, since we use fulfillment andEvaluationResult::EvaluatedToAmbig(boo 👎, see the FIXME)select_where_possibleThe only one that's truly sketchy is
evaluate_obligation, but it's not hard to modify this behavior moving forward.From #109037, I think a smaller repro could be crafted if I were smarter, but I am not, so I just took this from #105878.
r? @lcnr cc @BoxyUwU