From 19eb2a8890e41d088d96e4608737bbede5508f59 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sat, 16 Mar 2024 22:24:34 +0000 Subject: Fix #3282 --- src/check_stmt.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/check_stmt.cpp b/src/check_stmt.cpp index 1aa473fd6..d31af08da 100644 --- a/src/check_stmt.cpp +++ b/src/check_stmt.cpp @@ -1543,8 +1543,12 @@ gb_internal void check_range_stmt(CheckerContext *ctx, Ast *node, u32 mod_flags) goto skip_expr_range_stmt; } } else if (operand.mode != Addressing_Invalid) { + if (operand.mode == Addressing_OptionalOk || operand.mode == Addressing_OptionalOkPtr) { + check_promote_optional_ok(ctx, &operand, nullptr, nullptr); + } bool is_ptr = is_type_pointer(operand.type); Type *t = base_type(type_deref(operand.type)); + switch (t->kind) { case Type_Basic: if (t->Basic.kind == Basic_string || t->Basic.kind == Basic_UntypedString) { -- cgit v1.2.3