diff --git a/vyper/codegen/core.py b/vyper/codegen/core.py index f834f1da55..c41baed401 100644 --- a/vyper/codegen/core.py +++ b/vyper/codegen/core.py @@ -401,7 +401,8 @@ def append_dyn_array(darray_node, elem_node): ) # store new length - ret.append(STORE(darray_node, ["add", len_, 1])) + ret.append(ensure_eval_once("append_dynarray", STORE(darray_node, ["add", len_, 1]))) + return IRnode.from_list(b1.resolve(b2.resolve(ret))) @@ -415,7 +416,7 @@ def pop_dyn_array(darray_node, return_popped_item): with new_len.cache_when_complex("new_len") as (b2, new_len): # store new length - ret.append(STORE(darray_node, new_len)) + ret.append(ensure_eval_once("pop_dynarray", STORE(darray_node, new_len))) # NOTE skip array bounds check bc we already asserted len two lines up if return_popped_item: