diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index cf989cf1da3..bd275af1b06 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -2458,6 +2458,10 @@ copying. .. versionchanged:: 3.3 One-dimensional memoryviews with formats 'B', 'b' or 'c' are now hashable. + .. versionchanged:: 3.4 + memoryview is now registered automatically with + :class:`collections.abc.Sequence` + :class:`memoryview` has several methods: .. method:: __eq__(exporter) diff --git a/Lib/collections/abc.py b/Lib/collections/abc.py index a8681eaebd0..d19e5925a0a 100644 --- a/Lib/collections/abc.py +++ b/Lib/collections/abc.py @@ -643,6 +643,7 @@ class Sequence(Sized, Iterable, Container): Sequence.register(tuple) Sequence.register(str) Sequence.register(range) +Sequence.register(memoryview) class ByteString(Sequence): diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py index 706cc9e9b6d..6c733eeb6f9 100644 --- a/Lib/test/test_collections.py +++ b/Lib/test/test_collections.py @@ -782,6 +782,8 @@ class TestCollectionABCs(ABCTestCase): self.assertTrue(issubclass(sample, Sequence)) self.assertIsInstance(range(10), Sequence) self.assertTrue(issubclass(range, Sequence)) + self.assertIsInstance(memoryview(b""), Sequence) + self.assertTrue(issubclass(memoryview, Sequence)) self.assertTrue(issubclass(str, Sequence)) self.validate_abstract_methods(Sequence, '__contains__', '__iter__', '__len__', '__getitem__') diff --git a/Misc/NEWS b/Misc/NEWS index 71de0bb68b2..f7a118c12fa 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,9 @@ Projected release date: 2013-10-20 Core and Builtins ----------------- +- Issue #18690: memoryview is now automatically registered with + collections.abc.Sequence + - Issue #19078: memoryview now correctly supports the reversed builtin (Patch by Claudiu Popa)