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.
When testing the new formatter on a large corpus, I noticed the solver would get stuck on large conditional chains because (unfortunately), we can't separately format the else clause of a split conditional expression. By merging long conditional chains into a single InfixPiece, we can separately format all but the very last dangling else clause.
While I was at it, I also put a hard cap in the number of solutions the solver will try in case it still gets stuck. The old formatter has a similar limit. It's rare for real-world code to hit this limit in the new solver, but it's better than getting totally stuck when it happens.