summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/stdtypes.rst4
-rw-r--r--Lib/collections/abc.py1
-rw-r--r--Lib/test/test_collections.py2
-rw-r--r--Misc/NEWS3
4 files changed, 10 insertions, 0 deletions
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index cf989cf..bd275af 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 a8681ea..d19e592 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 706cc9e..6c733ee 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 71de0bb..f7a118c 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)