From 12ec9bce7d5ba87452f6a23b35ad7e5e78012ec9 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 27 Mar 2024 13:05:15 +0000 Subject: [PATCH] Fix parsing bug on `bit_set[;x]` --- src/parser.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/parser.cpp b/src/parser.cpp index d46079964..747677946 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -2885,6 +2885,10 @@ gb_internal Ast *parse_operand(AstFile *f, bool lhs) { elem = parse_expr(f, true); f->allow_range = prev_allow_range; + if (elem == nullptr) { + syntax_error(token, "Expected a type or range, got nothing"); + } + if (allow_token(f, Token_Semicolon)) { underlying = parse_type(f); } else if (allow_token(f, Token_Comma)) { @@ -2894,6 +2898,7 @@ gb_internal Ast *parse_operand(AstFile *f, bool lhs) { underlying = parse_type(f); } + expect_token(f, Token_CloseBracket); return ast_bit_set_type(f, token, elem, underlying); }