summaryrefslogtreecommitdiffstats
path: root/Lib/pickle.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/pickle.py')
-rw-r--r--Lib/pickle.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/Lib/pickle.py b/Lib/pickle.py
index 9a5747e..b9bafce 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -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),)