aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index 1942ea2ad..a9d7737ad 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -1158,7 +1158,7 @@ Token expect_token_after(AstFile *f, TokenKind kind, char *msg) {
Token expect_operator(AstFile *f) {
Token prev = f->curr_token;
- if (prev.kind == Token_in && (f->expr_level >= 0 || f->allow_in_expr)) {
+ if ((prev.kind == Token_in || prev.kind == Token_notin) && (f->expr_level >= 0 || f->allow_in_expr)) {
// okay
} else if (!gb_is_between(prev.kind, Token__OperatorBegin+1, Token__OperatorEnd-1)) {
syntax_error(f->curr_token, "Expected an operator, got '%.*s'",
@@ -2355,6 +2355,7 @@ i32 token_precedence(AstFile *f, TokenKind t) {
case Token_GtEq:
return 5;
case Token_in:
+ case Token_notin:
if (f->expr_level >= 0 || f->allow_in_expr) {
return 6;
}