mirror of
https://github.com/python/cpython
synced 2024-10-14 19:05:40 +00:00
gh-100815: Normalize types
module usage in copy
module (#100816)
This commit is contained in:
parent
6746135b07
commit
951303fd85
16
Lib/copy.py
16
Lib/copy.py
|
@ -101,13 +101,11 @@ def copy(x):
|
|||
|
||||
def _copy_immutable(x):
|
||||
return x
|
||||
for t in (type(None), int, float, bool, complex, str, tuple,
|
||||
for t in (types.NoneType, int, float, bool, complex, str, tuple,
|
||||
bytes, frozenset, type, range, slice, property,
|
||||
types.BuiltinFunctionType, type(Ellipsis), type(NotImplemented),
|
||||
types.FunctionType, weakref.ref):
|
||||
d[t] = _copy_immutable
|
||||
t = getattr(types, "CodeType", None)
|
||||
if t is not None:
|
||||
types.BuiltinFunctionType, types.EllipsisType,
|
||||
types.NotImplementedType, types.FunctionType, types.CodeType,
|
||||
weakref.ref):
|
||||
d[t] = _copy_immutable
|
||||
|
||||
d[list] = list.copy
|
||||
|
@ -173,9 +171,9 @@ def deepcopy(x, memo=None, _nil=[]):
|
|||
|
||||
def _deepcopy_atomic(x, memo):
|
||||
return x
|
||||
d[type(None)] = _deepcopy_atomic
|
||||
d[type(Ellipsis)] = _deepcopy_atomic
|
||||
d[type(NotImplemented)] = _deepcopy_atomic
|
||||
d[types.NoneType] = _deepcopy_atomic
|
||||
d[types.EllipsisType] = _deepcopy_atomic
|
||||
d[types.NotImplementedType] = _deepcopy_atomic
|
||||
d[int] = _deepcopy_atomic
|
||||
d[float] = _deepcopy_atomic
|
||||
d[bool] = _deepcopy_atomic
|
||||
|
|
Loading…
Reference in a new issue