Browse Source

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 8 years ago
committed by Damien George
parent
commit
1215dc47e2
  1. 5
      py/runtime.c

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

Loading…
Cancel
Save