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.
This commit is contained in:
parent
88ffe0d5cc
commit
1215dc47e2
@ -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)) {
|
if (MP_OBJ_IS_TYPE(seq_in, &mp_type_tuple)) {
|
||||||
mp_obj_tuple_get(seq_in, &seq_len, &seq_items);
|
mp_obj_tuple_get(seq_in, &seq_len, &seq_items);
|
||||||
} else {
|
} 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);
|
mp_obj_list_get(seq_in, &seq_len, &seq_items);
|
||||||
}
|
}
|
||||||
if (seq_len < num_left + num_right) {
|
if (seq_len < num_left + num_right) {
|
||||||
|
Loading…
Reference in New Issue
Block a user