Fix bracket spacing for single-element tuples in f-string expressions #15537
+64
−11
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.
Summary
Fixes #15535 (comment)
The formatter always parenthesizes single-element tuples even if they weren't in the source.
This lead to an instability before where the formatter added spacing around the f-strings
{ {}, }
thatthen were removed when reformatting the code because the tuple's now parenthesized
{({},)}
.Test Plan
Added test. I reviewed our other expression formatting and I didn't find any
other, except generators, that introduce parentheses. For generators, unparenthesized
generators aren't allowed in an expression context.