From: Guido van Rossum Date: Tue, 16 Jul 2002 20:47:50 +0000 (+0000) Subject: Remove the next() method -- one is supplied automatically by X-Git-Tag: v2.3c1~4987 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=86d593e110f61800069b2d488d5530477a3d8054;p=python Remove the next() method -- one is supplied automatically by PyType_Ready() because the tp_iternext slot is set. Also removed the redundant (and expensive!) call to raise StopIteration from rangeiter_next(). --- diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c index c3c6050039..7c0e6098c8 100644 --- a/Objects/rangeobject.c +++ b/Objects/rangeobject.c @@ -1,4 +1,3 @@ - /* Range object implementation */ #include "Python.h" @@ -251,16 +250,9 @@ rangeiter_next(rangeiterobject *r) { if (r->index < r->len) return PyInt_FromLong(r->start + (r->index++) * r->step); - PyErr_SetObject(PyExc_StopIteration, Py_None); return NULL; } -static PyMethodDef rangeiter_methods[] = { - {"next", (PyCFunction)rangeiter_next, METH_NOARGS, - "it.next() -- get the next value, or raise StopIteration"}, - {NULL, NULL} /* sentinel */ -}; - static PyTypeObject Pyrangeiter_Type = { PyObject_HEAD_INIT(&PyType_Type) 0, /* ob_size */ @@ -291,6 +283,5 @@ static PyTypeObject Pyrangeiter_Type = { 0, /* tp_weaklistoffset */ (getiterfunc)rangeiter_getiter, /* tp_iter */ (iternextfunc)rangeiter_next, /* tp_iternext */ - rangeiter_methods, /* tp_methods */ + 0, /* tp_methods */ }; -