aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2019-11-09 10:24:27 +0000
committergingerBill <bill@gingerbill.org>2019-11-09 10:24:27 +0000
commit0a35b13411faca7d7059501a45c0649b6edf374a (patch)
treee44a2e8b956da45e879430b790a9013b310f8fb6 /src/parser.cpp
parentdacfc9de15c8bbf510c52b708b64e7980d8fe6ff (diff)
Fix inline `for` bug for #468
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index 7d59eaf9e..95a0895d6 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -3914,8 +3914,11 @@ Ast *parse_stmt(AstFile *f) {
in_token = expect_token(f, Token_in);
bool prev_allow_range = f->allow_range;
+ isize prev_level = f->expr_level;
f->allow_range = true;
- expr = parse_expr(f, true);
+ f->expr_level = -1;
+ expr = parse_expr(f, false);
+ f->expr_level = prev_level;
f->allow_range = prev_allow_range;
if (allow_token(f, Token_do)) {