Commit 11ade1dd authored by Guido van Rossum's avatar Guido van Rossum

SF patch 560794 (Greg Chapman): deepcopy can't handle custom

metaclasses.

This is essentially the same problem as that reported in bug 494904
for pickle: deepcopy should treat instances of custom metaclasses the
same way it treats instances of type 'type'.

Bugfix candidate.
parent cf02ac61
......@@ -163,6 +163,13 @@ def deepcopy(x, memo = None):
try:
copierfunction = _deepcopy_dispatch[type(x)]
except KeyError:
try:
issc = issubclass(type(x), type)
except TypeError:
issc = 0
if issc:
y = _deepcopy_dispatch[type](x, memo)
else:
try:
copier = x.__deepcopy__
except AttributeError:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment