]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Eliminate the double reverse option. It's only use case
authorRaymond Hettinger <python@rcn.com>
Wed, 10 Mar 2004 08:32:47 +0000 (08:32 +0000)
committerRaymond Hettinger <python@rcn.com>
Wed, 10 Mar 2004 08:32:47 +0000 (08:32 +0000)
was academic and it was potentially confusing to use.

Lib/test/test_enumerate.py
Objects/enumobject.c

index 00ecbcccaf3134cf8a8f4dbc489f669e76acb784..34bc71db243768753bd3ba05b408c528d0327e3d 100644 (file)
@@ -141,11 +141,8 @@ class TestReversed(unittest.TestCase):
         x = xrange(1)
         self.assertEqual(type(reversed(x)), type(iter(x)))
 
-    def test_double_reverse(self):
-        s = 'hello'
-        self.assertEqual(list(reversed(reversed(s))), list(s))
-
     def test_len(self):
+        # This is an implementation detail, not an interface requirement
         s = 'hello'
         self.assertEqual(len(reversed(s)), len(s))
 
index 55595ce73e332efc66f1a4941cd826c0265566bd..1d13123558d9fbe7a4566720efb0a1ed17ea3cde 100644 (file)
@@ -236,23 +236,11 @@ reversed_len(reversedobject *ro)
        return PyObject_Size(ro->seq);
 }
 
-static PyObject *
-reversed_reverse(reversedobject *ro, PyObject *unused)
-{
-       return PyObject_GetIter(ro->seq);
-}
-
 PyDoc_STRVAR(reversed_doc,
 "reverse(sequence) -> reverse iterator over values of the sequence\n"
 "\n"
 "Return a reverse iterator");
 
-static PyMethodDef reversed_methods[] = {
-       {"__reversed__",        (PyCFunction)reversed_reverse,  
-               METH_NOARGS,     reversed_doc},
-       {NULL,          NULL}   /* sentinel */
-};
-
 static PySequenceMethods reversed_as_sequence = {
        (inquiry)reversed_len,          /* sq_length */
        0,                              /* sq_concat */
@@ -289,7 +277,7 @@ PyTypeObject PyReversed_Type = {
        0,                              /* tp_weaklistoffset */
        PyObject_SelfIter,              /* tp_iter */
        (iternextfunc)reversed_next,    /* tp_iternext */
-       reversed_methods,               /* tp_methods */
+       0,                              /* tp_methods */
        0,                              /* tp_members */
        0,                              /* tp_getset */
        0,                              /* tp_base */