Skip to content

Commit a0f169c

Browse files
committed
Close python#19078: memoryview now supports reversed
Patch by Claudiu Popa
1 parent dff9e25 commit a0f169c

3 files changed

Lines changed: 14 additions & 1 deletion

File tree

‎Lib/test/test_memoryview.py‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,15 @@ def callback(wr, b=b):
352352
self.assertIs(wr(), None)
353353
self.assertIs(L[0], b)
354354

355+
def test_reversed(self):
356+
for tp in self._types:
357+
b = tp(self._source)
358+
m = self._view(b)
359+
aslist = list(reversed(m.tolist()))
360+
self.assertEqual(list(reversed(m)), aslist)
361+
self.assertEqual(list(reversed(m)), list(m[::-1]))
362+
363+
355364
# Variations on source objects for the buffer: bytes-like objects, then arrays
356365
# with itemsize > 1.
357366
# NOTE: support for multi-dimensional objects is unimplemented.

‎Misc/NEWS‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ Projected release date: 2013-10-20
1010
Core and Builtins
1111
-----------------
1212

13+
- Issue #19078: memoryview now correctly supports the reversed builtin
14+
(Patch by Claudiu Popa)
15+
16+
1317
Library
1418
-------
1519

‎Objects/memoryobject.c‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2402,7 +2402,7 @@ static PyMappingMethods memory_as_mapping = {
24022402

24032403
/* As sequence */
24042404
static PySequenceMethods memory_as_sequence = {
2405-
0, /* sq_length */
2405+
(lenfunc)memory_length, /* sq_length */
24062406
0, /* sq_concat */
24072407
0, /* sq_repeat */
24082408
(ssizeargfunc)memory_item, /* sq_item */

0 commit comments

Comments
 (0)