diff --git a/lib/std/zig/ast.zig b/lib/std/zig/ast.zig index f2418f7c11ddeac8436832e9bfd6df09900608c4..46b58e9465ac8e039bef344ab664a1a734872ac9 100644 --- a/lib/std/zig/ast.zig +++ b/lib/std/zig/ast.zig @@ -580,7 +580,7 @@ pub const Tree = struct { .switch_case => { const extra = tree.extraData(datas[n].lhs, Node.SubRange); assert(extra.end - extra.start > 0); - n = extra.start; + n = tree.extra_data[extra.start]; }, .asm_output, .asm_input => { diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index 6b81f9a16e3633e7572948d66493210af3ae31c8..c0d8a012c9df6efcdc9f668ebd93400455498b8f 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -4189,19 +4189,18 @@ test "zig fmt: respect extra newline between fn and pub usingnamespace" { ); } -// TODO -//test "zig fmt: respect extra newline between switch items" { -// try testCanonical( -// \\const a = switch (b) { -// \\ .c => {}, -// \\ -// \\ .d, -// \\ .e, -// \\ => f, -// \\}; -// \\ -// ); -//} +test "zig fmt: respect extra newline between switch items" { + try testCanonical( + \\const a = switch (b) { + \\ .c => {}, + \\ + \\ .d, + \\ .e, + \\ => f, + \\}; + \\ + ); +} test "zig fmt: error for invalid bit range" { try testError(