Author: Philip Jenvey <[email protected]>
Branch: py3k
Changeset: r64931:f187810ad0ec
Date: 2013-06-17 16:44 -0700
http://bitbucket.org/pypy/pypy/changeset/f187810ad0ec/
Log: cpython returns a formal iter here
diff --git a/lib_pypy/_collections.py b/lib_pypy/_collections.py
--- a/lib_pypy/_collections.py
+++ b/lib_pypy/_collections.py
@@ -431,5 +431,6 @@
This API is used by pickle.py and copy.py.
"""
- return (type(self), (self.default_factory,), None, None, self.items())
+ return (type(self), (self.default_factory,), None, None,
+ iter(self.items()))
diff --git a/pypy/module/_collections/app_defaultdict.py
b/pypy/module/_collections/app_defaultdict.py
--- a/pypy/module/_collections/app_defaultdict.py
+++ b/pypy/module/_collections/app_defaultdict.py
@@ -63,4 +63,5 @@
This API is used by pickle.py and copy.py.
"""
- return (type(self), (self._default_factory,), None, None, self.items())
+ return (type(self), (self._default_factory,), None, None,
+ iter(self.items()))
diff --git a/pypy/module/_collections/test/test_defaultdict.py
b/pypy/module/_collections/test/test_defaultdict.py
--- a/pypy/module/_collections/test/test_defaultdict.py
+++ b/pypy/module/_collections/test/test_defaultdict.py
@@ -56,3 +56,9 @@
assert len(d2) == 1
assert d2[2] == 3
assert d2[3] == 42
+
+ def test_reduce(self):
+ import _collections
+ d = _collections.defaultdict(None, {3: 4})
+ dict_iter = d.__reduce__()[4]
+ assert type(dict_iter) is type(iter(d.items()))
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit