fix parsing of assignment with 'inline for' and 'inline while'

This commit is contained in:
Vincent Rischmann 2021-03-06 19:37:33 +01:00 committed by Andrew Kelley
parent 34cb5934dd
commit 272ae0ca0d
2 changed files with 13 additions and 1 deletions

View File

@ -1981,7 +1981,7 @@ const Parser = struct {
}
},
.keyword_inline => {
p.tok_i += 2;
p.tok_i += 1;
switch (p.token_tags[p.tok_i]) {
.keyword_for => return p.parseForExpr(),
.keyword_while => return p.parseWhileExpr(),

View File

@ -4297,6 +4297,18 @@ test "zig fmt: respect extra newline between switch items" {
);
}
test "zig fmt: assignment with inline for and inline while" {
try testCanonical(
\\const tmp = inline for (items) |item| {};
\\
);
try testCanonical(
\\const tmp2 = inline while (true) {};
\\
);
}
test "zig fmt: insert trailing comma if there are comments between switch values" {
try testTransform(
\\const a = switch (b) {