diff --git a/lib/std/zig/Ast/Render.zig b/lib/std/zig/Ast/Render.zig index a501b21d10..85ff1993a1 100644 --- a/lib/std/zig/Ast/Render.zig +++ b/lib/std/zig/Ast/Render.zig @@ -3167,7 +3167,7 @@ fn renderIdentifier(r: *Render, token_index: Ast.TokenIndex, space: Space, quote }, .failure => return renderQuotedIdentifier(r, token_index, space, false), } - contents_i += esc_offset; + contents_i = esc_offset; continue; }, else => return renderQuotedIdentifier(r, token_index, space, false), diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index 800caf0e94..ac3a52dfd4 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -6086,6 +6086,16 @@ test "zig fmt: seperate errors in error sets with comments" { ); } +test "zig fmt: proper escape checks" { + try testTransform( + \\@"\x41\x42\!" + \\ + , + \\@"AB\\!" + \\ + ); +} + test "zig fmt: field accesses on number literals" { try testCanonical( \\const a = 0xF .A;