From: Guido van Rossum Date: Tue, 28 Jan 2003 22:31:25 +0000 (+0000) Subject: Add a comment about how some built-in types should grow a X-Git-Tag: v2.3c1~2209 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4e2491dbb132ec6327c1d3327878ea69bc938c1b;p=python Add a comment about how some built-in types should grow a __getnewargs__ method. --- diff --git a/Lib/pickle.py b/Lib/pickle.py index 9a5747e842..b9bafce964 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),)