gh-121300: Add `replace` to `copy.__all__` (#121302)

This commit is contained in:
Max Muoto 2024-07-03 10:03:56 -05:00 committed by GitHub
parent ca2e876500
commit 7c66906802
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