[issue17720] pickle.py's load_appends should call append() on objects other than lists
Serhiy Storchaka
report at bugs.python.org
Sun Jan 22 15:15:19 EST 2017
Serhiy Storchaka added the comment:
>From PEP 7:
listitems Optional, and new in this PEP.
If this is not None, it should be an iterator (not a
sequence!) yielding successive list items. These list
items will be pickled, and appended to the object using
either obj.append(item) or obj.extend(list_of_items).
This is primarily used for list subclasses, but may
be used by other classes as long as they have append()
and extend() methods with the appropriate signature.
(Whether append() or extend() is used depends on which
pickle protocol version is used as well as the number
of items to append, so both must be supported.)
Both append() or extend() must be supported, therefore old code was correct. C implementation can be optimized by using extend().
----------
status: closed -> open
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue17720>
_______________________________________
More information about the Python-bugs-list
mailing list