File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -80,7 +80,7 @@ def _reduce(self):
8080def __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
114114def _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
128123def _slotnames (cls ):
129124 """Return a list of slot names for a given class.
You can’t perform that action at this time.
0 commit comments