summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 2c750a3..023f858 100644
--- a/eval.c
+++ b/eval.c
@@ -1508,6 +1508,9 @@ static bool eval_expr(Evaluator *ev, Expression *e, Value *v) {
Value *element = arr_add(&tuple);
Type *type = decl_type_at_index(d, i);
val_copy(NULL, element, &this_one, type);
+ void *to_free = val_ptr_to_free(element, type);
+ if (to_free)
+ *(void **)arr_add(&ev->to_free) = to_free;
i++;
}
}