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', (
from itertools import chain
from http.cookies import Morsel
try:
- from multiprocessing.managers import ValueProxy
+ from multiprocessing.managers import ValueProxy, DictProxy, ListProxy
from multiprocessing.pool import ApplyResult
from multiprocessing.queues import SimpleQueue as MPSimpleQueue
from multiprocessing.queues import Queue as MPQueue
except ImportError:
# _multiprocessing module is optional
ValueProxy = None
+ DictProxy = None
+ ListProxy = None
ApplyResult = None
MPSimpleQueue = None
MPQueue = None
if ctypes is not None:
generic_types.extend((ctypes.Array, ctypes.LibraryLoader))
if ValueProxy is not None:
- generic_types.extend((ValueProxy, ApplyResult,
+ generic_types.extend((ValueProxy, DictProxy, ListProxy, ApplyResult,
MPSimpleQueue, MPQueue, MPJoinableQueue))
def test_subscriptable(self):