Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f805cd2

Browse files
committed
Rename _better_reduce to _reduce_2, to make sure that any code that
was still referencing it will fail. Also removed some debug cruft from _reduce_ex.
1 parent b289b87 commit f805cd2

1 file changed

Lines changed: 5 additions & 10 deletions

File tree

Lib/copy_reg.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def _reduce(self):
8080
def __newobj__(cls, *args):
8181
return cls.__new__(cls, *args)
8282

83-
def _better_reduce(obj):
83+
def _reduce_2(obj):
8484
cls = obj.__class__
8585
getnewargs = getattr(obj, "__getnewargs__", None)
8686
if getnewargs:
@@ -113,17 +113,12 @@ def _better_reduce(obj):
113113

114114
def _reduce_ex(obj, proto=0):
115115
obj_reduce = getattr(obj, "__reduce__", None)
116-
# XXX This fails in test_copy.py line 61
117-
if obj_reduce:
118-
try:
119-
if obj.__class__.__reduce__ is not object.__reduce__:
120-
return obj_reduce()
121-
except AttributeError:
122-
pass
123-
if proto < 2:
116+
if obj_reduce and obj.__class__.__reduce__ is not object.__reduce__:
117+
return obj_reduce()
118+
elif proto < 2:
124119
return _reduce(obj)
125120
else:
126-
return _better_reduce(obj)
121+
return _reduce_2(obj)
127122

128123
def _slotnames(cls):
129124
"""Return a list of slot names for a given class.

0 commit comments

Comments
 (0)