|
|
@@ -186,6 +186,10 @@ let rec typecheck node =
|
|
|
"function \"%s\" has return type %s, got %s"
|
|
|
name (type2str ret_type) (type2str (typeof value)))]
|
|
|
|
|
|
+ | Return (None, _) as ret when ret_type <> Void ->
|
|
|
+ ret, [NodeMsg (ret, sprintf "expected return value of type %s"
|
|
|
+ (type2str ret_type))]
|
|
|
+
|
|
|
| node -> traverse_list check_types node
|
|
|
in
|
|
|
let err =
|