-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
maybe regression related to GATs #105878
Comments
I found out that adding static bound (e.g. but I don't know which code is correct. |
Regression in nightly-2022-09-22 from #100096. While that PR fixed a soundness hole, I don't think it was expected to affect stable code. CC @compiler-errors, @jackh726, @estebank. |
Ugh, yeah, this is probably due to the fact we need to prove something like |
@rustbot label -regression-untriaged +regression-from-stable-to-stable |
WG-prioritization assigning priority (Zulip discussion). @rustbot label -I-prioritize +P-high |
I'm split on what we should do here. There's really two options (because I fix is some time away):
#100096 was a soundness fix, but one that's been open for a while. This bug is just another instance of a large list of issues all related. I'm not sure that reverting a soundness fix is a good choice, even for stable behavior. A decent middle ground would be to extend the "this might be a bug" error to this case. |
That would require the error to at least suggest the |
…ligations, r=lcnr Return nested obligations from canonical response var unification Handle alias-eq obligations being emitted from `instantiate_and_apply_query_response` in: * `EvalCtxt` - by processing the nested obligations in the next loop by `new_goals` * `FulfillCtxt` - by adding the nested obligations to the fulfillment's pending obligations * `InferCtxt::evaluate_obligation` - ~~by returning `EvaluationResult::EvaluatedToAmbig` (boo 👎, see the FIXME)~~ same behavior as above, since we use fulfillment and `select_where_possible` The only one that's truly sketchy is `evaluate_obligation`, but it's not hard to modify this behavior moving forward. From rust-lang#109037, I think a smaller repro could be crafted if I were smarter, but I am not, so I just took this from rust-lang#105878. r? `@lcnr` cc `@BoxyUwU`
Code
I tried this code:
Version it worked on
The code is compiled on Rust 1.65
Version with regression
The code is not compiled on current stable(1.66), beta, and nightly with error:
The text was updated successfully, but these errors were encountered: