diff options
-rw-r--r-- | Doc/library/collections.abc.rst | 3 | ||||
-rw-r--r-- | Lib/_collections_abc.py | 2 | ||||
-rw-r--r-- | Lib/test/test_collections.py | 4 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2018-01-11-00-33-42.bpo-32467.YVEOv6.rst | 1 |
4 files changed, 6 insertions, 4 deletions
diff --git a/Doc/library/collections.abc.rst b/Doc/library/collections.abc.rst index 6015453209..2a3fb142f7 100644 --- a/Doc/library/collections.abc.rst +++ b/Doc/library/collections.abc.rst @@ -87,7 +87,8 @@ ABC Inherits from Abstract Methods Mixin :class:`Set` ``__iter__`` :class:`KeysView` :class:`MappingView`, ``__contains__``, :class:`Set` ``__iter__`` -:class:`ValuesView` :class:`MappingView` ``__contains__``, ``__iter__`` +:class:`ValuesView` :class:`MappingView`, ``__contains__``, ``__iter__`` + :class:`Collection` :class:`Awaitable` ``__await__`` :class:`Coroutine` :class:`Awaitable` ``send``, ``throw`` ``close`` :class:`AsyncIterable` ``__aiter__`` diff --git a/Lib/_collections_abc.py b/Lib/_collections_abc.py index a5c7bfcda1..dbe30dff1f 100644 --- a/Lib/_collections_abc.py +++ b/Lib/_collections_abc.py @@ -746,7 +746,7 @@ class ItemsView(MappingView, Set): ItemsView.register(dict_items) -class ValuesView(MappingView): +class ValuesView(MappingView, Collection): __slots__ = () diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py index cb662355bb..a55239e573 100644 --- a/Lib/test/test_collections.py +++ b/Lib/test/test_collections.py @@ -843,13 +843,13 @@ class TestOneTrickPonyABCs(ABCTestCase): self.assertFalse(issubclass(type(x), Collection), repr(type(x))) # Check some non-collection iterables 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: self.assertNotIsInstance(x, Collection) self.assertFalse(issubclass(type(x), Collection), repr(type(x))) # Check some collections samples = [set(), frozenset(), dict(), bytes(), str(), tuple(), - list(), dict().keys(), dict().items()] + list(), dict().keys(), dict().items(), dict().values()] for x in samples: self.assertIsInstance(x, Collection) self.assertTrue(issubclass(type(x), Collection), repr(type(x))) diff --git a/Misc/NEWS.d/next/Library/2018-01-11-00-33-42.bpo-32467.YVEOv6.rst b/Misc/NEWS.d/next/Library/2018-01-11-00-33-42.bpo-32467.YVEOv6.rst new file mode 100644 index 0000000000..58bf066f9f --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-01-11-00-33-42.bpo-32467.YVEOv6.rst @@ -0,0 +1 @@ +collections.abc.ValuesView now inherits from collections.abc.Collection. |