diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py index 76b915de74d94e..f75e42793b2005 100644 --- a/Lib/multiprocessing/managers.py +++ b/Lib/multiprocessing/managers.py @@ -1155,7 +1155,7 @@ def set(self, value): '__add__', '__contains__', '__delitem__', '__getitem__', '__len__', '__mul__', '__reversed__', '__rmul__', '__setitem__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', - 'reverse', 'sort', '__imul__' + 'reverse', 'sort', '__imul__', 'clear', 'copy', )) class ListProxy(BaseListProxy): def __iadd__(self, value): diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index f126b6745dc83b..2fc1ace807ad44 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -2314,6 +2314,13 @@ def test_list(self): a.append('hello') self.assertEqual(f[0][:], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'hello']) + e2 = e.copy() + self.assertEqual([element[:] for element in e], + [element[:] for element in e2]) + + e2.clear() + self.assertEqual(e2[:], []) + def test_list_iter(self): a = self.list(list(range(10))) it = iter(a) diff --git a/Misc/NEWS.d/next/Library/2024-05-20-12-34-32.gh-issue-119176.I2Br-T.rst b/Misc/NEWS.d/next/Library/2024-05-20-12-34-32.gh-issue-119176.I2Br-T.rst new file mode 100644 index 00000000000000..7cfc5de9dd4e71 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2024-05-20-12-34-32.gh-issue-119176.I2Br-T.rst @@ -0,0 +1,2 @@ +Add ``copy`` and ``clear`` methods support to +``multiprocessing.manager.ListProxy``.