aboutsummaryrefslogtreecommitdiff
path: root/src/types.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/types.c')
-rw-r--r--src/types.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/types.c b/src/types.c
index 8a342d9bd..fe46dc3cd 100644
--- a/src/types.c
+++ b/src/types.c
@@ -1037,8 +1037,12 @@ typedef enum ProcTypeOverloadKind {
ProcTypeOverloadKind are_proc_types_overload_safe(Type *x, Type *y) {
- if (!is_type_proc(x)) return ProcOverload_NotProcedure;
- if (!is_type_proc(y)) return ProcOverload_NotProcedure;
+ if (x == NULL && y == NULL) return ProcOverload_NotProcedure;
+ if (x == NULL && y != NULL) return ProcOverload_NotProcedure;
+ if (x != NULL && y == NULL) return ProcOverload_NotProcedure;
+ if (!is_type_proc(x)) return ProcOverload_NotProcedure;
+ if (!is_type_proc(y)) return ProcOverload_NotProcedure;
+
TypeProc px = base_type(x)->Proc;
TypeProc py = base_type(y)->Proc;