From 1215dc47e2eb8ad3d70e3f1aa1a36a98024019a2 Mon Sep 17 00:00:00 2001 From: Krzysztof Blazewicz Date: Mon, 6 Mar 2017 08:46:21 +0100 Subject: [PATCH] py/runtime.c: Remove optimization of '*a,=b', it caused a bug. *a, = b should always make a copy of b, instead, before this patch if b was a list it would copy only a reference to it. --- py/runtime.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/py/runtime.c b/py/runtime.c index 1c25350ec4..0f8044c8da 100644 --- a/py/runtime.c +++ b/py/runtime.c @@ -854,11 +854,6 @@ void mp_unpack_ex(mp_obj_t seq_in, size_t num_in, mp_obj_t *items) { if (MP_OBJ_IS_TYPE(seq_in, &mp_type_tuple)) { mp_obj_tuple_get(seq_in, &seq_len, &seq_items); } else { - if (num_left == 0 && num_right == 0) { - // *a, = b # sets a to b if b is a list - items[0] = seq_in; - return; - } mp_obj_list_get(seq_in, &seq_len, &seq_items); } if (seq_len < num_left + num_right) {