diff options
Diffstat (limited to 'src/parser.cpp')
| -rw-r--r-- | src/parser.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/parser.cpp b/src/parser.cpp index 07ecf10f8..a7e4c9162 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -1719,9 +1719,12 @@ Array<Ast *> parse_element_list(AstFile *f) { Ast *parse_literal_value(AstFile *f, Ast *type) { Array<Ast *> elems = {}; Token open = expect_token(f, Token_OpenBrace); + isize expr_level = f->expr_level; + f->expr_level = 0; if (f->curr_token.kind != Token_CloseBrace) { elems = parse_element_list(f); } + f->expr_level = expr_level; Token close = expect_closing(f, Token_CloseBrace, str_lit("compound literal")); return ast_compound_lit(f, type, elems, open, close); |