diff --git a/src/checker.cpp b/src/checker.cpp index dd61f6fc3..48863e706 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -6894,7 +6894,10 @@ gb_internal void check_deferred_procedures(Checker *c) { continue; } - GB_ASSERT(is_type_proc(src->type)); + if (!is_type_proc(src->type)) { + error(src->token, "Invalid procedure type found during deferred procedure checking"); + continue; + } GB_ASSERT(is_type_proc(dst->type)); Type *src_params = base_type(src->type)->Proc.params; Type *src_results = base_type(src->type)->Proc.results;