diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2014-02-27 21:14:31 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2014-02-27 21:14:31 (GMT) |
commit | b807577da257ba2475abe955120fb7bdf739875c (patch) | |
tree | af84ab4998c5cee765c282f3b0ee04e0ad88b61b | |
parent | 3673670b675d8a686686a449a0a9a551f53dfee7 (diff) | |
download | cpython-b807577da257ba2475abe955120fb7bdf739875c.zip cpython-b807577da257ba2475abe955120fb7bdf739875c.tar.gz cpython-b807577da257ba2475abe955120fb7bdf739875c.tar.bz2 |
Issue #20791: copy.copy() now doesn't make a copy when the input is a bytes object. Initial patch by Peter Otten.
-rw-r--r-- | Lib/copy.py | 2 | ||||
-rw-r--r-- | Lib/test/test_copy.py | 1 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 5 insertions, 1 deletions
diff --git a/Lib/copy.py b/Lib/copy.py index d26bcdb..bb8840e 100644 --- a/Lib/copy.py +++ b/Lib/copy.py @@ -110,7 +110,7 @@ _copy_dispatch = d = {} def _copy_immutable(x): return x for t in (type(None), int, float, bool, str, tuple, - frozenset, type, range, + bytes, frozenset, type, range, types.BuiltinFunctionType, type(Ellipsis), types.FunctionType, weakref.ref): d[t] = _copy_immutable diff --git a/Lib/test/test_copy.py b/Lib/test/test_copy.py index cde0bae..eb8d18c 100644 --- a/Lib/test/test_copy.py +++ b/Lib/test/test_copy.py @@ -98,6 +98,7 @@ class TestCopy(unittest.TestCase): pass tests = [None, 42, 2**100, 3.14, True, False, 1j, "hello", "hello\u1234", f.__code__, + b"world", bytes(range(256)), NewStyle, range(10), Classic, max, WithMetaclass] for x in tests: self.assertIs(copy.copy(x), x) @@ -26,6 +26,9 @@ Core and Builtins Library ------- +- Issue #20791: copy.copy() now doesn't make a copy when the input is + a bytes object. Initial patch by Peter Otten. + - Issue #20621: Fixes a zipimport bug introduced in 3.3.4 that could cause spurious crashes or SystemErrors when importing modules or packages from a zip file. The change causing the problem was reverted. |