Preserve trailing commas for enums with members when trailing_commas are preserved #1703
+16
−3
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.
This PR changes the formatter to have it maintain trailing commas of last enum constants when there are members.
So:
Becomes:
Instead of:
Fixes #1678
Additionally, a similar style choice was presented in #1660 (comment)
Affected users:
trailing_commas: preserve
config option and adding a trailing comma to their enum cases.Benefits:
(Personally, I always add a trailing semicolon to avoid churn and to also make it even clearer this is an advanced enum with members.)
Downsides:
Additional considerations:
I also considered implementing this for
enum E { a, b,; }
, however, that would require more drastic changes to the formatter as far as I can tell.Additionally, in this case the trailing semicolon provides fewer benefits:
Notes
CHANGELOG.md
since this trailing commas preservation hasn't shipped yet so its behaviour is still undefined.