diff --git a/std/zig/parser_test.zig b/std/zig/parser_test.zig index 6e8e551f8317abb932938de8cc528153659bdc43..a4bba110f38822e9bbd5e5a6baf172d14e16c97a 100644 --- a/std/zig/parser_test.zig +++ b/std/zig/parser_test.zig @@ -1875,6 +1875,21 @@ test "zig fmt: for" { \\} \\ ); + + try testTransform( + \\test "fix for" { + \\ for (a) |x| + \\ f(x) else continue; + \\} + \\ + , + \\test "fix for" { + \\ for (a) |x| + \\ f(x) + \\ else continue; + \\} + \\ + ); } test "zig fmt: if" { diff --git a/std/zig/render.zig b/std/zig/render.zig index f2b5d297dbe5ff223be6dfefdbd1992c0379d9ba..16fd717fca317293536dc2a73a2bf1d342d67680 100644 --- a/std/zig/render.zig +++ b/std/zig/render.zig @@ -1460,7 +1460,7 @@ fn renderExpression( const space_after_body = blk: { if (for_node.@"else") |@"else"| { - const src_one_line_to_else = tree.tokensOnSameLine(for_node.body.lastToken(), @"else".firstToken()); + const src_one_line_to_else = tree.tokensOnSameLine(rparen, @"else".firstToken()); if (body_is_block or src_one_line_to_else) { break :blk Space.Space; } else {