mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-35341: Add generic version of OrderedDict to typing (GH-10850)
This commit is contained in:
parent
32bc11c33c
commit
68b56d02ef
4 changed files with 24 additions and 0 deletions
|
@ -689,6 +689,12 @@ The module defines the following classes, functions and decorators:
|
|||
|
||||
.. versionadded:: 3.5.2
|
||||
|
||||
.. class:: OrderedDict(collections.OrderedDict, MutableMapping[KT, VT])
|
||||
|
||||
A generic version of :class:`collections.OrderedDict`.
|
||||
|
||||
.. versionadded:: 3.7.2
|
||||
|
||||
.. class:: Counter(collections.Counter, Dict[T, int])
|
||||
|
||||
A generic version of :class:`collections.Counter`.
|
||||
|
|
|
@ -2075,6 +2075,22 @@ class CollectionsAbcTests(BaseTestCase):
|
|||
self.assertIsSubclass(MyDefDict, collections.defaultdict)
|
||||
self.assertNotIsSubclass(collections.defaultdict, MyDefDict)
|
||||
|
||||
def test_ordereddict_instantiation(self):
|
||||
self.assertIs(type(typing.OrderedDict()), collections.OrderedDict)
|
||||
self.assertIs(type(typing.OrderedDict[KT, VT]()), collections.OrderedDict)
|
||||
self.assertIs(type(typing.OrderedDict[str, int]()), collections.OrderedDict)
|
||||
|
||||
def test_ordereddict_subclass(self):
|
||||
|
||||
class MyOrdDict(typing.OrderedDict[str, int]):
|
||||
pass
|
||||
|
||||
od = MyOrdDict()
|
||||
self.assertIsInstance(od, MyOrdDict)
|
||||
|
||||
self.assertIsSubclass(MyOrdDict, collections.OrderedDict)
|
||||
self.assertNotIsSubclass(collections.OrderedDict, MyOrdDict)
|
||||
|
||||
@skipUnless(sys.version_info >= (3, 3), 'ChainMap was added in 3.3')
|
||||
def test_chainmap_instantiation(self):
|
||||
self.assertIs(type(typing.ChainMap()), collections.ChainMap)
|
||||
|
|
|
@ -1241,6 +1241,7 @@ ContextManager = _alias(contextlib.AbstractContextManager, T_co)
|
|||
AsyncContextManager = _alias(contextlib.AbstractAsyncContextManager, T_co)
|
||||
Dict = _alias(dict, (KT, VT), inst=False)
|
||||
DefaultDict = _alias(collections.defaultdict, (KT, VT))
|
||||
OrderedDict = _alias(collections.OrderedDict, (KT, VT))
|
||||
Counter = _alias(collections.Counter, T)
|
||||
ChainMap = _alias(collections.ChainMap, (KT, VT))
|
||||
Generator = _alias(collections.abc.Generator, (T_co, T_contra, V_co))
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Add generic version of ``collections.OrderedDict`` to the ``typing`` module. Patch by Ismo Toijala.
|
Loading…
Add table
Add a link
Reference in a new issue