From 0bef1f98247160cbd5101c763404c76ae287b2bd Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 26 May 2018 16:43:33 -0400 Subject: [PATCH] zig fmt: fix rendering of struct with no trailing comma on last field --- std/zig/parser_test.zig | 15 +++++++++++++++ std/zig/render.zig | 3 +-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/std/zig/parser_test.zig b/std/zig/parser_test.zig index ab15ca3a5..e76d58808 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 c37f6e37c..dea06e3a7 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 => {