gingerBill 1 year ago
parent
commit
19eb2a8890
1 changed files with 4 additions and 0 deletions
  1. 4 0
      src/check_stmt.cpp

+ 4 - 0
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;
 				goto skip_expr_range_stmt;
 			}
 			}
 		} else if (operand.mode != Addressing_Invalid) {
 		} 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);
 			bool is_ptr = is_type_pointer(operand.type);
 			Type *t = base_type(type_deref(operand.type));
 			Type *t = base_type(type_deref(operand.type));
+
 			switch (t->kind) {
 			switch (t->kind) {
 			case Type_Basic:
 			case Type_Basic:
 				if (t->Basic.kind == Basic_string || t->Basic.kind == Basic_UntypedString) {
 				if (t->Basic.kind == Basic_string || t->Basic.kind == Basic_UntypedString) {