Skip to content

Commit 19ab047

Browse files
committed
zig fmt: fix error sets with empty line before comma
1 parent 602ba9d commit 19ab047

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

lib/std/zig/Ast/Render.zig

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -748,8 +748,13 @@ fn renderExpression(r: *Render, node: Ast.Node.Index, space: Space) Error!void {
748748
try renderToken(r, lbrace, .newline);
749749
var i = lbrace + 1;
750750
while (i < rbrace) : (i += 1) {
751+
const tag = tree.tokenTag(i);
752+
if (tag == .comma) {
753+
assert(tree.tokenTag(i - 1) == .identifier);
754+
continue;
755+
}
751756
if (i > lbrace + 1) try renderExtraNewlineToken(r, i);
752-
switch (tree.tokenTag(i)) {
757+
switch (tag) {
753758
.doc_comment => try renderToken(r, i, .newline),
754759
.identifier => {
755760
try ais.pushSpace(.comma);

lib/std/zig/parser_test.zig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6863,6 +6863,22 @@ test "zig fmt: asm_legacy conversion with quoted identifier" {
68636863
);
68646864
}
68656865

6866+
test "zig fmt: error set with extra newline before comma" {
6867+
try testTransform(
6868+
\\const E = error{
6869+
\\ A
6870+
\\
6871+
\\ ,
6872+
\\};
6873+
\\
6874+
,
6875+
\\const E = error{
6876+
\\ A,
6877+
\\};
6878+
\\
6879+
);
6880+
}
6881+
68666882
test "recovery: top level" {
68676883
try testError(
68686884
\\test "" {inline}

0 commit comments

Comments
 (0)