Unverified Kaydet (Commit) 02556fba authored tarafından Raymond Hettinger's avatar Raymond Hettinger Kaydeden (comit) GitHub

bpo-32467: Let collections.abc.ValuesView inherit from Collection (#5152)

üst 782d6fe4
...@@ -87,7 +87,8 @@ ABC Inherits from Abstract Methods Mixin ...@@ -87,7 +87,8 @@ ABC Inherits from Abstract Methods Mixin
:class:`Set` ``__iter__`` :class:`Set` ``__iter__``
:class:`KeysView` :class:`MappingView`, ``__contains__``, :class:`KeysView` :class:`MappingView`, ``__contains__``,
:class:`Set` ``__iter__`` :class:`Set` ``__iter__``
:class:`ValuesView` :class:`MappingView` ``__contains__``, ``__iter__`` :class:`ValuesView` :class:`MappingView`, ``__contains__``, ``__iter__``
:class:`Collection`
:class:`Awaitable` ``__await__`` :class:`Awaitable` ``__await__``
:class:`Coroutine` :class:`Awaitable` ``send``, ``throw`` ``close`` :class:`Coroutine` :class:`Awaitable` ``send``, ``throw`` ``close``
:class:`AsyncIterable` ``__aiter__`` :class:`AsyncIterable` ``__aiter__``
......
...@@ -746,7 +746,7 @@ class ItemsView(MappingView, Set): ...@@ -746,7 +746,7 @@ class ItemsView(MappingView, Set):
ItemsView.register(dict_items) ItemsView.register(dict_items)
class ValuesView(MappingView): class ValuesView(MappingView, Collection):
__slots__ = () __slots__ = ()
......
...@@ -843,13 +843,13 @@ class TestOneTrickPonyABCs(ABCTestCase): ...@@ -843,13 +843,13 @@ class TestOneTrickPonyABCs(ABCTestCase):
self.assertFalse(issubclass(type(x), Collection), repr(type(x))) self.assertFalse(issubclass(type(x), Collection), repr(type(x)))
# Check some non-collection iterables # Check some non-collection iterables
non_col_iterables = [_test_gen(), iter(b''), iter(bytearray()), non_col_iterables = [_test_gen(), iter(b''), iter(bytearray()),
(x for x in []), dict().values()] (x for x in [])]
for x in non_col_iterables: for x in non_col_iterables:
self.assertNotIsInstance(x, Collection) self.assertNotIsInstance(x, Collection)
self.assertFalse(issubclass(type(x), Collection), repr(type(x))) self.assertFalse(issubclass(type(x), Collection), repr(type(x)))
# Check some collections # Check some collections
samples = [set(), frozenset(), dict(), bytes(), str(), tuple(), samples = [set(), frozenset(), dict(), bytes(), str(), tuple(),
list(), dict().keys(), dict().items()] list(), dict().keys(), dict().items(), dict().values()]
for x in samples: for x in samples:
self.assertIsInstance(x, Collection) self.assertIsInstance(x, Collection)
self.assertTrue(issubclass(type(x), Collection), repr(type(x))) self.assertTrue(issubclass(type(x), Collection), repr(type(x)))
......
collections.abc.ValuesView now inherits from collections.abc.Collection.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment