|
|
@@ -190,6 +190,9 @@ let rec typecheck node =
|
|
|
ret, [NodeMsg (ret, sprintf "expected return value of type %s"
|
|
|
(type2str ret_type))]
|
|
|
|
|
|
+ (* do not traverse into local functions for return statements *)
|
|
|
+ | FunDef _ as node -> node, []
|
|
|
+
|
|
|
| node -> traverse_list check_types node
|
|
|
in
|
|
|
let err =
|