aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-05-26 16:43:33 -0400
committerAndrew Kelley <superjoe30@gmail.com>2018-05-26 16:43:33 -0400
commit0bef1f98247160cbd5101c763404c76ae287b2bd (patch)
treed4f2efcc4ea3929a9045529ea482f5df5747b84f
parent0ab888c639dffcc48bc08a6ff186aa3da0ecbf74 (diff)
downloadzig-0bef1f98247160cbd5101c763404c76ae287b2bd.tar.gz
zig-0bef1f98247160cbd5101c763404c76ae287b2bd.zip
zig fmt: fix rendering of struct with no trailing comma on last field
-rw-r--r--std/zig/parser_test.zig15
-rw-r--r--std/zig/render.zig3
2 files changed, 16 insertions, 2 deletions
diff --git a/std/zig/parser_test.zig b/std/zig/parser_test.zig
index ab15ca3a58..e76d588088 100644
--- a/std/zig/parser_test.zig
+++ b/std/zig/parser_test.zig
@@ -1,3 +1,18 @@
+test "zig fmt: no trailing comma on struct decl" {
+ try testTransform(
+ \\const RoundParam = struct {
+ \\ k: usize, s: u32, t: u32
+ \\};
+ ,
+ \\const RoundParam = struct {
+ \\ k: usize,
+ \\ s: u32,
+ \\ t: u32,
+ \\};
+ \\
+ );
+}
+
test "zig fmt: simple asm" {
try testTransform(
\\comptime {
diff --git a/std/zig/render.zig b/std/zig/render.zig
index c37f6e37c7..dea06e3a7d 100644
--- a/std/zig/render.zig
+++ b/std/zig/render.zig
@@ -102,8 +102,7 @@ fn renderTopLevelDecl(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, i
}
try renderToken(tree, stream, field.name_token, indent, Space.None); // name
try renderToken(tree, stream, tree.nextToken(field.name_token), indent, Space.Space); // :
- try renderExpression(allocator, stream, tree, indent, field.type_expr, Space.None); // type
- try renderToken(tree, stream, tree.nextToken(field.lastToken()), indent, Space.Newline); // ,
+ try renderTrailingComma(allocator, stream, tree, indent, field.type_expr, Space.Newline); // type,
},
ast.Node.Id.UnionTag => {