diff options
author | Nikita Sobolev <mail@sobolevn.me> | 2023-11-10 23:23:27 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-10 23:23:27 (GMT) |
commit | ae8116cfa944dccad13638f6875b33b98d285b63 (patch) | |
tree | d7ef2787e60d7ae2102cae181627d2cc60e0075b /Lib/multiprocessing/managers.py | |
parent | 06c47a305d8f7f4f56a1113d9eb2eddcc175f2ed (diff) | |
download | cpython-ae8116cfa944dccad13638f6875b33b98d285b63.zip cpython-ae8116cfa944dccad13638f6875b33b98d285b63.tar.gz cpython-ae8116cfa944dccad13638f6875b33b98d285b63.tar.bz2 |
gh-107431: Make `multiprocessing.managers.{DictProxy,ListProxy}` generic (#107433)
Make `multiprocessing.managers.{DictProxy,ListProxy}` generic for type annotation use. `ListProxy[str]` for example.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Diffstat (limited to 'Lib/multiprocessing/managers.py')
-rw-r--r-- | Lib/multiprocessing/managers.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py index 273c22a..96cebc6 100644 --- a/Lib/multiprocessing/managers.py +++ b/Lib/multiprocessing/managers.py @@ -1165,15 +1165,19 @@ class ListProxy(BaseListProxy): self._callmethod('__imul__', (value,)) return self + __class_getitem__ = classmethod(types.GenericAlias) + -DictProxy = MakeProxyType('DictProxy', ( +_BaseDictProxy = MakeProxyType('DictProxy', ( '__contains__', '__delitem__', '__getitem__', '__iter__', '__len__', '__setitem__', 'clear', 'copy', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values' )) -DictProxy._method_to_typeid_ = { +_BaseDictProxy._method_to_typeid_ = { '__iter__': 'Iterator', } +class DictProxy(_BaseDictProxy): + __class_getitem__ = classmethod(types.GenericAlias) ArrayProxy = MakeProxyType('ArrayProxy', ( |