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.
pull/2917/merge
Krzysztof Blazewicz 2017-03-06 08:46:21 +01:00 zatwierdzone przez Damien George
rodzic 88ffe0d5cc
commit 1215dc47e2
1 zmienionych plików z 0 dodań i 5 usunięć

Wyświetl plik

@ -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) {