Merged revisions 72669 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72669 | antoine.pitrou | 2009-05-15 18:54:52 +0200 (ven., 15 mai 2009) | 3 lines
Issue #2116: Weak references and weak dictionaries now support copy()ing and deepcopy()ing.
........
diff --git a/Lib/copy.py b/Lib/copy.py
index a334b79..2646350 100644
--- a/Lib/copy.py
+++ b/Lib/copy.py
@@ -49,6 +49,7 @@
"""
import types
+import weakref
from copyreg import dispatch_table
class Error(Exception):
@@ -102,7 +103,7 @@
for t in (type(None), int, float, bool, str, tuple,
frozenset, type, range,
types.BuiltinFunctionType, type(Ellipsis),
- types.FunctionType):
+ types.FunctionType, weakref.ref):
d[t] = _copy_immutable
t = getattr(types, "CodeType", None)
if t is not None:
@@ -198,6 +199,7 @@
d[range] = _deepcopy_atomic
d[types.BuiltinFunctionType] = _deepcopy_atomic
d[types.FunctionType] = _deepcopy_atomic
+d[weakref.ref] = _deepcopy_atomic
def _deepcopy_list(x, memo):
y = []