Begin work on handling the wait signals correctly for union variants throughout

This commit is contained in:
gingerBill committed 2026-09-30 15:32:49 +01:00
1 parent 9d248323a4
commit 3b366c9e29
4 files changed
+28 -3

No files matched your search

+5 -2
View File
@@ -95,7 +95,8 @@ gb_internal void check_struct_type (CheckerContext *c, Type *st
Type *named_type = nullptr, Type *original_type_for_poly = nullptr,
GenTypesData *poly_gen_types_to_unlock = nullptr);
gb_internal void check_union_type (CheckerContext *c, Type *union_type, Ast *node, Array<Operand> *poly_operands,
Type *named_type = nullptr, Type *original_type_for_poly = nullptr);
Type *named_type = nullptr, Type *original_type_for_poly = nullptr,
GenTypesData *poly_gen_types_to_unlock = nullptr);
gb_internal Type * check_init_variable (CheckerContext *c, Entity *e, Operand *operand, String context_name);
@@ -8814,7 +8815,9 @@ gb_internal CallArgumentError check_polymorphic_record_type(CheckerContext *c, O
set_base_type(named_type, union_type);
check_open_scope(&ctx, node);
check_union_type(&ctx, union_type, node, &ordered_operands, named_type, original_type);
check_union_type(&ctx, union_type, node, &ordered_operands, named_type, original_type, found_gen_types);
// check_union_type released found_gen_types->mutex after publishing the instantiation.
gen_types_locked = false;
check_close_scope(&ctx);
} else {
GB_PANIC("Unsupported parametric polymorphic record type");