Issue #20791: copy.copy() now doesn't make a copy when the input is a bytes object. Initial patch by Peter Otten.

This commit is contained in:
Antoine Pitrou 2014-02-27 22:14:31 +01:00
parent 85736a7d2c
commit dc9215f882
3 changed files with 5 additions and 1 deletions

View File

@ -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

View File

@ -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)

View File

@ -14,6 +14,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 #19748: On AIX, time.mktime() now raises an OverflowError for year
outsize range [1902; 2037].