Fix recursion limits with next solver - #9953
Open
nazar-pc wants to merge 2 commits into
Open
Conversation
nazar-pc
force-pushed
the
fix-recursion-limits-next-solver
branch
2 times, most recently
from
July 28, 2026 15:01
e1928b5 to
d7c5a2c
Compare
Contributor
Author
|
Changelog fails because I replaced one non-break space character with a normal whitespace. It likely was a typo originally and my IDE warns about all kinds of invisible or strange characters like that. I can roll it back if you'd really want me to. |
nazar-pc
force-pushed
the
fix-recursion-limits-next-solver
branch
from
July 28, 2026 15:02
d7c5a2c to
38dc8c9
Compare
lcnr
reviewed
Jul 28, 2026
nazar-pc
force-pushed
the
fix-recursion-limits-next-solver
branch
from
July 28, 2026 15:09
38dc8c9 to
2933700
Compare
nazar-pc
force-pushed
the
fix-recursion-limits-next-solver
branch
from
July 28, 2026 15:12
2933700 to
caf0552
Compare
inner-daemons
self-requested a review
July 29, 2026 15:43
jimblandy
requested changes
Jul 29, 2026
jimblandy
left a comment
Member
There was a problem hiding this comment.
Actually, please make the change Andy suggested.
nazar-pc
force-pushed
the
fix-recursion-limits-next-solver
branch
from
July 29, 2026 15:57
caf0552 to
ab22123
Compare
kpreid
requested changes
Jul 29, 2026
kpreid
force-pushed
the
fix-recursion-limits-next-solver
branch
from
July 31, 2026 16:26
3207e16 to
acc16f5
Compare
kpreid
approved these changes
Jul 31, 2026
Collaborator
|
I resolved the changelog conflict, and while I was there, broke out the whitespace fix to a separate commit and rewrote the changelog message to clarify its user-facing implications. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Connections
#9608, #9609
Description
This is a much better alternative to #9609 that solves the same underlying issue. The root cause is that next solver has a really hard time figuring out auto traits and ultimately fails with default recursion limit.
I later discovered that this is infectious, meaning not only
wgpuneeds to raise limits, but any crate that uses a lot of its types. The solution is to help solver a little bit and implement the traits manually. The code is more or less a macro expansion from https://crates.io/crates/non_structural_derive applied to the core type that is used basically everywhere.This small change removes the need to increase recursion limits both here and for downstream users and I believe should help with compilation time as well.
Testing
Checked whether workspace compiles with
cargo clippy.Checklist
wgpumay be affected behaviorally.CHANGELOG.mdentries for the user-facing effects of this change are present.