authorgravatar for goon.pri.low@gmail.comKendall Condon <goon.pri.low@gmail.com> 2025-07-28 14:07:46-04:00
committergravatar for goon.pri.low@gmail.comKendall Condon <goon.pri.low@gmail.com> 2026-03-12 17:23:24-04:00
log9014daedbbb0630ee438ab64302dd0e0697759ba
tree740b7ded320a70975a2ca1721cb4330191dc8bf3
parent409541bc77cb1d6a447dbcdf74f9fcbc2a8b0397

zig fmt: properly check escape sequences


2 files changed, 11 insertions(+), 1 deletions(-)

lib/std/zig/Ast/Render.zig+1-1
...@@ -3167,7 +3167,7 @@ fn renderIdentifier(r: *Render, token_index: Ast.TokenIndex, space: Space, quote...@@ -3167,7 +3167,7 @@ fn renderIdentifier(r: *Render, token_index: Ast.TokenIndex, space: Space, quote
3167 },3167 },
3168 .failure => return renderQuotedIdentifier(r, token_index, space, false),3168 .failure => return renderQuotedIdentifier(r, token_index, space, false),
3169 }3169 }
3170 contents_i += esc_offset;3170 contents_i = esc_offset;
3171 continue;3171 continue;
3172 },3172 },
3173 else => return renderQuotedIdentifier(r, token_index, space, false),3173 else => return renderQuotedIdentifier(r, token_index, space, false),
lib/std/zig/parser_test.zig+10
...@@ -6086,6 +6086,16 @@ test "zig fmt: seperate errors in error sets with comments" {...@@ -6086,6 +6086,16 @@ test "zig fmt: seperate errors in error sets with comments" {
6086 );6086 );
6087}6087}
60886088
6089test "zig fmt: proper escape checks" {
6090 try testTransform(
6091 \\@"\x41\x42\!"
6092 \\
6093 ,
6094 \\@"AB\\!"
6095 \\
6096 );
6097}
6098
6089test "zig fmt: field accesses on number literals" {6099test "zig fmt: field accesses on number literals" {
6090 try testCanonical(6100 try testCanonical(
6091 \\const a = 0xF .A;6101 \\const a = 0xF .A;