gingerBill 5 years ago
parent
commit
86f1574f78
1 changed files with 8 additions and 0 deletions
  1. 8 0
      src/check_expr.cpp

+ 8 - 0
src/check_expr.cpp

@@ -9339,6 +9339,14 @@ ExprKind check_expr_base_internal(CheckerContext *c, Operand *o, Ast *node, Type
 			first_arg_name = str_lit("_");
 		}
 
+		if (first_type == nullptr) {
+			error(se->call, "Selector call expressions expect a procedure type for the call with at least 1 parameter");
+			o->mode = Addressing_Invalid;
+			o->type = t_invalid;
+			o->expr = node;
+			return Expr_Stmt;
+		}
+
 		Operand y = {};
 		y.mode = first_arg->tav.mode;
 		y.type = first_arg->tav.type;