| author | |
| committer | |
| log | 2b6589bd3b2d529c56220d762c6a95b7609ea768 |
| tree | f6ddfc42093929f16846f493ff5b81cf1919411d |
| parent | 99fea4431bdf927e2f17409d087243694e94918f |
2 files changed, 22 insertions(+), 1 deletions(-)
lib/std/zig/Ast/Render.zig+6-1| ... | ... | @@ -748,8 +748,13 @@ fn renderExpression(r: *Render, node: Ast.Node.Index, space: Space) Error!void { |
| 748 | 748 | try renderToken(r, lbrace, .newline); |
| 749 | 749 | var i = lbrace + 1; |
| 750 | 750 | 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 | } | |
| 751 | 756 | if (i > lbrace + 1) try renderExtraNewlineToken(r, i); |
| 752 | switch (tree.tokenTag(i)) { | |
| 757 | switch (tag) { | |
| 753 | 758 | .doc_comment => try renderToken(r, i, .newline), |
| 754 | 759 | .identifier => { |
| 755 | 760 | try ais.pushSpace(.comma); |
lib/std/zig/parser_test.zig+16| ... | ... | @@ -6822,6 +6822,22 @@ test "zig fmt: canonicalize stray backslashes in identifiers" { |
| 6822 | 6822 | ); |
| 6823 | 6823 | } |
| 6824 | 6824 | |
| 6825 | test "zig fmt: error set with extra newline before comma" { | |
| 6826 | try testTransform( | |
| 6827 | \\const E = error{ | |
| 6828 | \\ A | |
| 6829 | \\ | |
| 6830 | \\ , | |
| 6831 | \\}; | |
| 6832 | \\ | |
| 6833 | , | |
| 6834 | \\const E = error{ | |
| 6835 | \\ A, | |
| 6836 | \\}; | |
| 6837 | \\ | |
| 6838 | ); | |
| 6839 | } | |
| 6840 | ||
| 6825 | 6841 | test "recovery: top level" { |
| 6826 | 6842 | try testError( |
| 6827 | 6843 | \\test "" {inline} |