From 94c2f998aee66a739f8f92f9ac35590c3e973565 Mon Sep 17 00:00:00 2001 From: Gaith Hallak Date: Tue, 19 Apr 2022 17:38:30 +0400 Subject: [PATCH] Don't destroy and recreate type errors table when not needed --- src/aeso_ast_infer_types.erl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/aeso_ast_infer_types.erl b/src/aeso_ast_infer_types.erl index 0c10b3c..2310e86 100644 --- a/src/aeso_ast_infer_types.erl +++ b/src/aeso_ast_infer_types.erl @@ -863,11 +863,9 @@ infer1(Env0, [{Contract, Ann, ConName, Impls, Code} | Rest], Acc, Options) _ -> ok end end, Impls), - destroy_and_report_type_errors(Env), - create_type_errors(), case What of contract -> - ImplementedInterfaces = [proplists:get_value(Name, AllInterfaces) || Name <- ImplsNames], + ImplementedInterfaces = [I || I <- [proplists:get_value(Name, AllInterfaces) || Name <- ImplsNames], I /= undefined], check_implemented_interfaces(ImplementedInterfaces, ConName, [ Fun || Fun = {letfun, _, _, _, _, _} <- Code1 ], [], AllInterfaces); contract_interface -> ok