From 7f618184ade7f5fbe906973e3ca79924fd196641 Mon Sep 17 00:00:00 2001 From: hryx Date: Fri, 5 Jul 2019 00:36:34 -0700 Subject: [PATCH] Prevent unreachable when file ends with struct field --- std/zig/parser_test.zig | 9 +++++++++ std/zig/render.zig | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/std/zig/parser_test.zig b/std/zig/parser_test.zig index 1bfef5ce1858cbaf258850e90b0e86487facf599..0f5789dc34522519684286d80d91a3d62b42dc77 100644 --- a/std/zig/parser_test.zig +++ b/std/zig/parser_test.zig @@ -2258,6 +2258,15 @@ test "zig fmt: if type expr" { ); } +test "zig fmt: file ends with struct field" { + try testTransform( + \\a: bool + , + \\a: bool, + \\ + ); +} + const std = @import("std"); const mem = std.mem; const warn = std.debug.warn; diff --git a/std/zig/render.zig b/std/zig/render.zig index 6e4227ecf2ff1124af2e46119721979cebe9a256..b85c11c6ac1c5b7e98d5b6d66b19017e24f2224a 100644 --- a/std/zig/render.zig +++ b/std/zig/render.zig @@ -1899,7 +1899,7 @@ fn renderTokenOffset( return renderToken(tree, stream, token_index + 1, indent, start_col, Space.Newline); }, else => { - if (tree.tokens.at(token_index + 2).id == Token.Id.MultilineStringLiteralLine) { + if (token_index + 2 < tree.tokens.len and tree.tokens.at(token_index + 2).id == Token.Id.MultilineStringLiteralLine) { try stream.write(","); return; } else { -- 2.54.0