diff options
author | Raymond Hettinger <rhettinger@users.noreply.github.com> | 2018-01-12 05:53:49 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-12 05:53:49 (GMT) |
commit | 02556fbade5e1e864dd09d5768a8dbbf5b3a0dac (patch) | |
tree | 14aa995e97221042d271e1c431397e7bb9dee2b0 | |
parent | 782d6fe4434381c50e0c7ec94a1ef9c6debbc333 (diff) | |
download | cpython-02556fbade5e1e864dd09d5768a8dbbf5b3a0dac.zip cpython-02556fbade5e1e864dd09d5768a8dbbf5b3a0dac.tar.gz cpython-02556fbade5e1e864dd09d5768a8dbbf5b3a0dac.tar.bz2 |
bpo-32467: Let collections.abc.ValuesView inherit from Collection (#5152)
-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 6015453..2a3fb14 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 a5c7bfc..dbe30df 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 cb66235..a55239e 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 0000000..58bf066 --- /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. |