From f7ec628cb20375645f99a851d55e031c76688724 Mon Sep 17 00:00:00 2001 From: rick-masters Date: Tue, 12 Mar 2024 23:57:13 +0000 Subject: Fix check for too many arguments to a polymorphic record type. --- src/check_expr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/check_expr.cpp') diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 0911e48cf..c5517ffa3 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -6847,7 +6847,7 @@ gb_internal CallArgumentError check_polymorphic_record_type(CheckerContext *c, O Array ordered_operands = operands; if (!named_fields) { - ordered_operands = array_make(permanent_allocator(), param_count); + ordered_operands = array_make(permanent_allocator(), operands.count); array_copy(&ordered_operands, operands, 0); } else { TEMPORARY_ALLOCATOR_GUARD(); -- cgit v1.2.3 From 7bc962b852e9e4ad0a8619f7265192f528cbe0be Mon Sep 17 00:00:00 2001 From: rick-masters Date: Tue, 12 Mar 2024 23:58:20 +0000 Subject: Fix variable used to index polymorphic parameter. --- src/check_expr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/check_expr.cpp') diff --git a/src/check_expr.cpp b/src/check_expr.cpp index c5517ffa3..1e4c7499b 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -6796,7 +6796,7 @@ gb_internal CallArgumentError check_polymorphic_record_type(CheckerContext *c, O isize index = lookup_polymorphic_record_parameter(original_type, name); if (index >= 0) { TypeTuple *params = get_record_polymorphic_params(original_type); - Entity *e = params->variables[i]; + Entity *e = params->variables[index]; if (e->kind == Entity_Constant) { check_expr_with_type_hint(c, &operands[i], fv->value, e->type); continue; -- cgit v1.2.3