summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/copy.py7
-rw-r--r--Lib/test/test_copy.py4
2 files changed, 8 insertions, 3 deletions
diff --git a/Lib/copy.py b/Lib/copy.py
index 7a1907d..a79976d 100644
--- a/Lib/copy.py
+++ b/Lib/copy.py
@@ -4,8 +4,9 @@ Interface summary:
import copy
- x = copy.copy(y) # make a shallow copy of y
- x = copy.deepcopy(y) # make a deep copy of y
+ x = copy.copy(y) # make a shallow copy of y
+ x = copy.deepcopy(y) # make a deep copy of y
+ x = copy.replace(y, a=1, b=2) # new object with fields replaced, as defined by `__replace__`
For module specific errors, copy.Error is raised.
@@ -56,7 +57,7 @@ class Error(Exception):
pass
error = Error # backward compatibility
-__all__ = ["Error", "copy", "deepcopy"]
+__all__ = ["Error", "copy", "deepcopy", "replace"]
def copy(x):
"""Shallow copy operation on arbitrary Python objects.
diff --git a/Lib/test/test_copy.py b/Lib/test/test_copy.py
index 8910237..3dec64c 100644
--- a/Lib/test/test_copy.py
+++ b/Lib/test/test_copy.py
@@ -972,6 +972,10 @@ class TestReplace(unittest.TestCase):
copy.replace(c, x=1, error=2)
+class MiscTestCase(unittest.TestCase):
+ def test__all__(self):
+ support.check__all__(self, copy, not_exported={"dispatch_table", "error"})
+
def global_foo(x, y): return x+y