From 409e3975669eb0d96655c84227d97512db80e72b Mon Sep 17 00:00:00 2001 From: gingerBill Date: Mon, 18 Aug 2025 21:47:09 +0100 Subject: [PATCH] Fix bug with `$fn: proc()` when passed with a global variable --- src/check_expr.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 7020b4f4b..862dd9278 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -6472,6 +6472,14 @@ gb_internal CallArgumentError check_call_arguments_internal(CheckerContext *c, A } } + if (e && e->kind == Entity_Constant && is_type_proc(e->type)) { + if (o->mode != Addressing_Constant) { + if (show_error) { + error(o->expr, "Expected a constant procedure value for the argument '%.*s'", LIT(e->token.string)); + } + err = CallArgumentError_NoneConstantParameter; + } + } if (!err && is_type_any(param_type)) { add_type_info_type(c, o->type);