diff Objects/rangeobject.c @ 24260:6aa2d09e32c1 legacy-trunk

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().
author Guido van Rossum <guido@python.org>
date Tue, 16 Jul 2002 20:47:50 +0000
parents ed1ba37a46b7
children 1598a1e473e2
line wrap: on
line diff
--- a/Objects/rangeobject.c	Tue Jul 16 20:30:22 2002 +0000
+++ b/Objects/rangeobject.c	Tue Jul 16 20:47:50 2002 +0000
@@ -1,4 +1,3 @@
-
 /* Range object implementation */
 
 #include "Python.h"
@@ -251,16 +250,9 @@
 {
 	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 @@
 	0,                                      /* tp_weaklistoffset */
 	(getiterfunc)rangeiter_getiter,		/* tp_iter */
 	(iternextfunc)rangeiter_next,		/* tp_iternext */
-	rangeiter_methods,			/* tp_methods */
+	0,					/* tp_methods */
 };
-