From fb621807a965a28f9b5e8bc788dccc98a3dfdc0c Mon Sep 17 00:00:00 2001 From: Gaith Hallak Date: Mon, 25 Jul 2022 20:00:30 +0400 Subject: [PATCH] Add a flag to allow higher-order entrypoints --- src/aeso_ast_infer_types.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/aeso_ast_infer_types.erl b/src/aeso_ast_infer_types.erl index e8002d7..379aa62 100644 --- a/src/aeso_ast_infer_types.erl +++ b/src/aeso_ast_infer_types.erl @@ -1642,7 +1642,8 @@ check_stateful_named_arg(_, _, _) -> ok. check_entrypoints(Defs) -> [ ensure_first_order_entrypoint(LetFun) || LetFun <- Defs, - aeso_syntax:get_ann(entrypoint, LetFun, false) ]. + aeso_syntax:get_ann(entrypoint, LetFun, false), + get_option(allow_higher_order_entrypoints, false) =:= false ]. ensure_first_order_entrypoint({letfun, Ann, Id = {id, _, Name}, Args, Ret, _}) -> [ ensure_first_order(ArgType, {higher_order_entrypoint, AnnArg, Id, {argument, ArgId, ArgType}})