diff options
-rw-r--r-- | Lib/copy_reg.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Lib/copy_reg.py b/Lib/copy_reg.py index 97bef41..f499013 100644 --- a/Lib/copy_reg.py +++ b/Lib/copy_reg.py @@ -12,7 +12,6 @@ __all__ = ["pickle", "constructor", dispatch_table = {} def pickle(ob_type, pickle_function, constructor_ob=None): - # constructor_ob exists only for backwards compatibility. if type(ob_type) is _ClassType: raise TypeError("copy_reg is not intended for use with classes") @@ -20,9 +19,12 @@ def pickle(ob_type, pickle_function, constructor_ob=None): raise TypeError("reduction functions must be callable") dispatch_table[ob_type] = pickle_function + # The constructor_ob function is a vestige of safe for unpickling. + # There is no reason for the caller to pass it anymore. + if constructor_ob is not None: + constructor(constructor_ob) + def constructor(object): - # XXX This function should be deprecated. It is a vestige of - # the old __safe_for_unpickling__ code. if not callable(object): raise TypeError("constructors must be callable") |