diff --git a/lib/std/zig/parse.zig b/lib/std/zig/parse.zig index 044766c5cf6dd86b761bc3759fab877f152e586c..4d5cadb37bd050ff7c97e334c8861b6d7245460b 100644 --- a/lib/std/zig/parse.zig +++ b/lib/std/zig/parse.zig @@ -2616,7 +2616,7 @@ const Parser = struct { const found_payload = try p.parsePtrIndexPayload(); if (found_payload == 0) try p.warn(.expected_loop_payload); - const then_expr = try p.expectExpr(); + const then_expr = try p.expectTypeExpr(); const else_token = p.eatToken(.keyword_else) orelse { return p.addNode(.{ .tag = .for_simple, diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index 9359aa2cd2c11d41c67b8b7d209403cf1b6dd017..f6aab4ceca041338f80f7f355d65fea7d69aa6a9 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -5154,7 +5154,7 @@ test "recovery: missing for payload" { try testError( \\comptime { \\ const a = for(a) {}; - \\ const a: for(a) {}; + \\ const a: for(a) blk: {}; \\ for(a) {} \\} , &[_]Error{