aboutsummaryrefslogtreecommitdiff
path: root/src/check_type.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/check_type.cpp')
-rw-r--r--src/check_type.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/check_type.cpp b/src/check_type.cpp
index 15bba5319..856e31cee 100644
--- a/src/check_type.cpp
+++ b/src/check_type.cpp
@@ -495,12 +495,12 @@ gb_internal Type *check_record_polymorphic_params(CheckerContext *ctx, Ast *poly
type = t_invalid;
}
- // if (is_type_polymorphic_type) {
- // gbString str = type_to_string(type);
- // error(params[i], "Parameter types cannot be polymorphic, got %s", str);
- // gb_string_free(str);
- // type = t_invalid;
- // }
+ if (is_type_polymorphic_type && !is_type_proc(type)) {
+ gbString str = type_to_string(type);
+ error(params[i], "Parameter types cannot be polymorphic, got %s", str);
+ gb_string_free(str);
+ type = t_invalid;
+ }
if (!is_type_param && check_constant_parameter_value(type, params[i])) {
// failed