summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2014-02-27 21:14:31 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2014-02-27 21:14:31 (GMT)
commitb807577da257ba2475abe955120fb7bdf739875c (patch)
treeaf84ab4998c5cee765c282f3b0ee04e0ad88b61b
parent3673670b675d8a686686a449a0a9a551f53dfee7 (diff)
downloadcpython-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.py2
-rw-r--r--Lib/test/test_copy.py1
-rw-r--r--Misc/NEWS3
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)
diff --git a/Misc/NEWS b/Misc/NEWS
index f6d82e2..4c99dd3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -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.