This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author belopolsky
Recipients ajaksu2, alex, alexandre.vassalotti, bcroq, belopolsky, ddorfman, eltoder, mstefanro, pitrou, rhettinger, zzzeek
Date 2014-06-29.20:25:16
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1404073517.23.0.205518849328.issue1062277@psf.upfronthosting.co.za>
In-reply-to
Content
Problem "B" has been resolved, but problem "A" is still there.

Python 3.4.1 (default, Jun 29 2014, 15:26:46)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> class C:
...     def __init__(self, x=None):
...         self.x = x if x is not None else self
...     def __reduce__(self):
...         return C, (self.x,)
...
>>> import pickle
>>> pickle.dumps(C())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: maximum recursion depth exceeded while calling a Python object
>>> c = C([])
>>> c.x.append(c)
>>> c.x[0] is c
True
>>> c2 = pickle.loads(pickle.dumps(c))
>>> c2.x[0] is c2
True
History
Date User Action Args
2014-06-29 20:25:17belopolskysetrecipients: + belopolsky, rhettinger, ddorfman, pitrou, ajaksu2, alexandre.vassalotti, alex, zzzeek, bcroq, eltoder, mstefanro
2014-06-29 20:25:17belopolskysetmessageid: <1404073517.23.0.205518849328.issue1062277@psf.upfronthosting.co.za>
2014-06-29 20:25:17belopolskylinkissue1062277 messages
2014-06-29 20:25:16belopolskycreate