Skip to content

[5.7][ConstraintSystem] "too complex" diagnostic improvements #58488

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

Merged
merged 6 commits into from
Apr 28, 2022

Conversation

xedin
Copy link
Contributor

@xedin xedin commented Apr 28, 2022

Cherry-pick of #42605
Cherry-pick of #58400


  • Abort any binding step when constraint system is 'too complex'
  • Improve precision of "too complex" by utilizing recorded affected range.

xedin added 6 commits April 28, 2022 09:18
Previously the "too complex" would be detected by `ComponentStep::take`
but binding steps would still proceed until the producer is exhausted
because it considers failure of the previous resume to be just a failed
choice.

(cherry picked from commit 03fab67)
…fore computing anything

(cherry picked from commit e2b4759)
Solver can now handle multiple different targets e.g. multi-statement
closures, result builders etc. So it's more appropriate to say that
the constraint system is too complex.

(cherry picked from commit 7dab90c)
This would help to diagnose the initial point where constraint
system has been determine to be "too complex"

(cherry picked from commit ef2f24b)
@xedin xedin requested a review from hborla April 28, 2022 16:26
@xedin xedin requested a review from a team as a code owner April 28, 2022 16:26
@xedin
Copy link
Contributor Author

xedin commented Apr 28, 2022

@swift-ci please test

@xedin xedin added the r5.7 label Apr 28, 2022
@xedin xedin merged commit ec12de2 into swiftlang:release/5.7 Apr 28, 2022
@AnthonyLatsis AnthonyLatsis added 🍒 release cherry pick Flag: Release branch cherry picks swift 5.7 labels Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🍒 release cherry pick Flag: Release branch cherry picks swift 5.7
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants