diff options
-rw-r--r-- | Doc/lib/libpickle.tex | 12 | ||||
-rw-r--r-- | Lib/pickle.py | 4 |
2 files changed, 12 insertions, 4 deletions
diff --git a/Doc/lib/libpickle.tex b/Doc/lib/libpickle.tex index d4a54cd..194a717 100644 --- a/Doc/lib/libpickle.tex +++ b/Doc/lib/libpickle.tex @@ -444,6 +444,7 @@ or three, with the following semantics: by name. \item A tuple of arguments for the callable object, or \code{None}. +\deprecated{2.3}{Use the tuple of arguments instead} \item Optionally, the object's state, which will be passed to the object's \method{__setstate__()} method as described in @@ -456,10 +457,13 @@ or three, with the following semantics: Upon unpickling, the callable will be called (provided that it meets the above criteria), passing in the tuple of arguments; it should -return the unpickled object. If the second item was \code{None}, then -instead of calling the callable directly, its \method{__basicnew__()} -method is called without arguments. It should also return the -unpickled object. +return the unpickled object. + +If the second item was \code{None}, then instead of calling the +callable directly, its \method{__basicnew__()} method is called +without arguments. It should also return the unpickled object. + +\deprecated{2.3}{Use the tuple of arguments instead} An alternative to implementing a \method{__reduce__()} method on the object to be pickled, is to register the callable with the diff --git a/Lib/pickle.py b/Lib/pickle.py index 5837884..d24786a 100644 --- a/Lib/pickle.py +++ b/Lib/pickle.py @@ -862,6 +862,10 @@ class Unpickler: "unpickling" % callable if arg_tup is None: + import warnings + warnings.warn("The None return argument form of __reduce__ is " + "deprecated. Return a tuple of arguments instead.", + DeprecationWarning) value = callable.__basicnew__() else: value = apply(callable, arg_tup) |