Commit 4e2491db authored by Guido van Rossum's avatar Guido van Rossum

Add a comment about how some built-in types should grow a

__getnewargs__ method.
parent b26a97aa
......@@ -368,13 +368,15 @@ class Pickler:
def save_newobj(self, obj):
# Save a new-style class instance, using protocol 2.
# XXX Much of this is still experimental.
# XXX This is still experimental.
assert self.proto >= 2 # This only works for protocol 2
t = type(obj)
getnewargs = getattr(obj, "__getnewargs__", None)
if getnewargs:
args = getnewargs() # This bette not reference obj
else:
# XXX These types should each grow a __getnewargs__
# implementation so this special-casing is unnecessary.
for cls in int, long, float, complex, str, UnicodeType, tuple:
if cls and isinstance(obj, cls):
args = (cls(obj),)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment