diff -r ed011b0d7daf Lib/test/test_memoryview.py --- a/Lib/test/test_memoryview.py Sun Sep 22 16:18:19 2013 -0700 +++ b/Lib/test/test_memoryview.py Mon Sep 23 19:20:40 2013 +0300 @@ -352,6 +352,15 @@ self.assertIs(wr(), None) self.assertIs(L[0], b) + def test_reversed(self): + for tp in self._types: + b = tp(self._source) + m = self._view(b) + aslist = list(reversed(m.tolist())) + self.assertEqual(list(reversed(m)), aslist) + self.assertEqual(list(reversed(m)), list(m[::-1])) + + # Variations on source objects for the buffer: bytes-like objects, then arrays # with itemsize > 1. # NOTE: support for multi-dimensional objects is unimplemented. diff -r ed011b0d7daf Objects/memoryobject.c --- a/Objects/memoryobject.c Sun Sep 22 16:18:19 2013 -0700 +++ b/Objects/memoryobject.c Mon Sep 23 19:20:40 2013 +0300 @@ -2402,7 +2402,7 @@ /* As sequence */ static PySequenceMethods memory_as_sequence = { - 0, /* sq_length */ + (lenfunc)memory_length, /* sq_length */ 0, /* sq_concat */ 0, /* sq_repeat */ (ssizeargfunc)memory_item, /* sq_item */