[3.13] gh-121300: Add `replace` to `copy.__all__` (GH-121302) (#121337)

(cherry picked from commit 7c66906802)

Co-authored-by: Max Muoto <maxmuoto@gmail.com>
This commit is contained in:
Miss Islington (bot) 2024-07-03 17:28:57 +02:00 committed by GitHub
parent 253c033251
commit 8799f0537b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 3 deletions

View File

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

View File

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