-
Notifications
You must be signed in to change notification settings - Fork 13.3k
normalization: avoid incompletely constraining GAT args #140712
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
base: master
Are you sure you want to change the base?
Conversation
Reminder, once the PR becomes ready for a review, use |
c180d15
to
5a34adc
Compare
[DO NOT MERGE] bootstrap with `-Znext-solver=globally` A revival of rust-lang#124812. Current status: ~~`./x.py b --stage 2` passes 🎉~~ `try` builds succeed 🎉 🎉 🎉 [first perf run](rust-lang#133502 (comment)) 👻 ### crater This does not detect hangs or memory issues. | date | #crates | #regressions | | ---- | ------- | ------------ | | 2025.04.11 | 100 | 2 | | 2025.04.11 | 1000 | 27 | | 2025.04.17 | 10000 | 456 | | 2025.04.18 | 10000 | 437 | | 2025.04.24 | 10000 | 164 | | 2025.04.26 | 10000 | 108 | | 2025.04.28 | 10000 | 91 | | 2025.05.01 | 10000 | 145 woops | | 2025.05.03 | 624228[^1] | 1585 | | 2025.05.05 | 8964[^2] | 931 | | 2025.05.06 | 4401[^2] | 726 | [^1]: a complete crater run [^2]: only testing crates which may have regressed from the above run ### in-flight changes - rust-lang#140711 - rust-lang#140713 - rust-lang#140712 - rust-lang#136997 - rust-lang#139587 - rust-lang#140497 - rust-lang#124852, unsure whether I actually want to land this PR for now - https://github.com/lcnr/rust/tree/opaque-type-method-call - rust-lang#140260 - rust-lang#140375 - rust-lang#140405 - look into blanket impls for opaque type infer vars as well - rust-lang#140496 - double recursion limit in the new solver r? `@ghost`
☔ The latest upstream changes (presumably #140781) made this pull request unmergeable. Please resolve the merge conflicts. |
5a34adc
to
577c497
Compare
577c497
to
0185484
Compare
@rustbot ready |
[DO NOT MERGE] bootstrap with `-Znext-solver=globally` A revival of rust-lang#124812. Current status: ~~`./x.py b --stage 2` passes 🎉~~ `try` builds succeed 🎉 🎉 🎉 [first perf run](rust-lang#133502 (comment)) 👻 ### crater This does not detect hangs or memory issues. | date | #crates | #regressions | | ---- | ------- | ------------ | | 2025.04.11 | 100 | 2 | | 2025.04.11 | 1000 | 27 | | 2025.04.17 | 10000 | 456 | | 2025.04.18 | 10000 | 437 | | 2025.04.24 | 10000 | 164 | | 2025.04.26 | 10000 | 108 | | 2025.04.28 | 10000 | 91 | | 2025.05.01 | 10000 | 145 woops | | 2025.05.03 | 624228[^1] | 1585 | | 2025.05.05 | 8964[^2] | 931 | | 2025.05.06 | 4401[^2] | 726 | | 2025.05.07 | 2704[^2] | 668 | [^1]: a complete crater run [^2]: only testing crates which may have regressed from the above run ### in-flight changes - rust-lang#140712 - rust-lang#136997 - rust-lang#139587 - rust-lang#140497 - rust-lang#124852, unsure whether I actually want to land this PR for now - https://github.com/lcnr/rust/tree/opaque-type-method-call - rust-lang#140375 - rust-lang#140405 - look into blanket impls for opaque type infer vars as well - rust-lang#140496 - double recursion limit in the new solver r? `@ghost`
sad hack but unfortunately not our responsibility to fix, since this is very old GAT behavior (-- and feels reasonable to want to support, b/c the param-env incompleteness would be kinda over-opinionated, especially w/o @bors r+ rollup |
We need to copy the behavior of #125214 in the new solver. This fixes rust-lang/trait-system-refactor-initiative#202 which seems to be the cause of the regression in
deptypes
.r? @compiler-errors