aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index 694dce735..fbd6cf0f7 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -2428,8 +2428,14 @@ Ast *parse_operand(AstFile *f, bool lhs) {
f->allow_range = true;
elem = parse_expr(f, true);
f->allow_range = prev_allow_range;
+
if (allow_token(f, Token_Semicolon)) {
underlying = parse_type(f);
+ } else if (allow_token(f, Token_Comma)) {
+ String p = token_to_string(f->prev_token);
+ syntax_error(token_end_of_line(f, f->prev_token), "Expected a semicolon, got a %.*s", LIT(p));
+
+ underlying = parse_type(f);
}
expect_token(f, Token_CloseBracket);