Change Pickler._batch_appends() and Pickler._batch_setitems() to take
an iterable object, instead of an iterator.
diff --git a/Lib/pickle.py b/Lib/pickle.py
index bf5c951..25ffd03 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -594,7 +594,7 @@
write(MARK + LIST)
self.memoize(obj)
- self._batch_appends(iter(obj))
+ self._batch_appends(obj)
dispatch[list] = save_list
@@ -611,6 +611,7 @@
write(APPEND)
return
+ items = iter(items)
r = range(self._BATCHSIZE)
while items is not None:
tmp = []
@@ -641,7 +642,7 @@
write(MARK + DICT)
self.memoize(obj)
- self._batch_setitems(iter(obj.items()))
+ self._batch_setitems(obj.items())
dispatch[dict] = save_dict
if PyStringMap is not None:
@@ -659,6 +660,7 @@
write(SETITEM)
return
+ items = iter(items)
r = range(self._BATCHSIZE)
while items is not None:
tmp = []