diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2003-06-14 07:10:06 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2003-06-14 07:10:06 (GMT) |
commit | ba8f5ff76c8e0aa7767a9a7c59f25a2db95f5d57 (patch) | |
tree | 36e39c502c9580d8d466b28ddca87d82cdfc8f85 /Lib | |
parent | c1aa8dceb74b82610df1dcd9f4a8215c3c1d6117 (diff) | |
download | cpython-ba8f5ff76c8e0aa7767a9a7c59f25a2db95f5d57.zip cpython-ba8f5ff76c8e0aa7767a9a7c59f25a2db95f5d57.tar.gz cpython-ba8f5ff76c8e0aa7767a9a7c59f25a2db95f5d57.tar.bz2 |
Copy builtin functions as atomic. Fixes #746304. Will backport to 2.2.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/copy.py | 2 | ||||
-rw-r--r-- | Lib/test/test_copy.py | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/Lib/copy.py b/Lib/copy.py index 02aa46b..31adfd3 100644 --- a/Lib/copy.py +++ b/Lib/copy.py @@ -120,6 +120,7 @@ except AttributeError: d[types.TypeType] = _copy_atomic d[types.XRangeType] = _copy_atomic d[types.ClassType] = _copy_atomic +d[types.BuiltinFunctionType] = _copy_atomic def _copy_list(x): return x[:] @@ -233,6 +234,7 @@ except AttributeError: d[types.TypeType] = _deepcopy_atomic d[types.XRangeType] = _deepcopy_atomic d[types.ClassType] = _deepcopy_atomic +d[types.BuiltinFunctionType] = _deepcopy_atomic def _deepcopy_list(x, memo): y = [] diff --git a/Lib/test/test_copy.py b/Lib/test/test_copy.py index a53f988..3d44304 100644 --- a/Lib/test/test_copy.py +++ b/Lib/test/test_copy.py @@ -84,7 +84,7 @@ class TestCopy(unittest.TestCase): pass tests = [None, 42, 2L**100, 3.14, True, False, 1j, "hello", u"hello\u1234", f.func_code, - NewStyle, xrange(10), Classic] + NewStyle, xrange(10), Classic, max] for x in tests: self.assert_(copy.copy(x) is x, `x`) @@ -257,7 +257,7 @@ class TestCopy(unittest.TestCase): pass tests = [None, 42, 2L**100, 3.14, True, False, 1j, "hello", u"hello\u1234", f.func_code, - NewStyle, xrange(10), Classic] + NewStyle, xrange(10), Classic, max] for x in tests: self.assert_(copy.deepcopy(x) is x, `x`) |