Merge pull request #3867 from karl-zylinski/error-on-typeof-untyped-type

error on type_of(value of untyped type)
This commit is contained in:
gingerBill
2024-07-03 22:09:59 +01:00
committed by GitHub
+8
View File
@@ -2290,6 +2290,14 @@ gb_internal bool check_builtin_procedure(CheckerContext *c, Operand *operand, As
error(o.expr, "Invalid argument to 'type_of'");
return false;
}
if (is_type_untyped(o.type)) {
gbString t = type_to_string(o.type);
error(o.expr, "'type_of' of %s cannot be determined", t);
gb_string_free(t);
return false;
}
// NOTE(bill): Prevent type cycles for procedure declarations
if (c->curr_proc_sig == o.type) {
gbString s = expr_to_string(o.expr);