From db48be1805bb77a04849faea6636dfcef46fec9c Mon Sep 17 00:00:00 2001 From: Ulf Norell Date: Mon, 6 May 2019 14:58:25 +0200 Subject: [PATCH] Fix variable binding bug in fcode compiler --- src/aeso_ast_to_fcode.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aeso_ast_to_fcode.erl b/src/aeso_ast_to_fcode.erl index 9f2b2ea..56d51ed 100644 --- a/src/aeso_ast_to_fcode.erl +++ b/src/aeso_ast_to_fcode.erl @@ -369,7 +369,7 @@ expr_to_fcode(Env, {record_t, FieldTypes}, {record, _Ann, Rec, Fields}) -> Proj = fun(I) -> {proj, {var, X}, I - 1} end, Comp = fun({I, false}) -> Proj(I); ({_, {set, E}}) -> expr_to_fcode(Env, E); - ({I, {upd, Z, E}}) -> {'let', Z, Proj(I), expr_to_fcode(Env, E)} + ({I, {upd, Z, E}}) -> {'let', Z, Proj(I), expr_to_fcode(bind_var(Env, Z), E)} end, Set = fun({_, false}, R) -> R; ({I, {set, E}}, R) -> {set_proj, R, I - 1, expr_to_fcode(Env, E)};