There's no need for generators to define an explicit next() method.
This commit is contained in:
parent
674eae65ea
commit
a64295b43a
|
@ -165,21 +165,6 @@ gen_iternext(genobject *gen)
|
|||
return result;
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
gen_next(genobject *gen)
|
||||
{
|
||||
PyObject *result;
|
||||
|
||||
result = gen_iternext(gen);
|
||||
|
||||
if (result == NULL && !PyErr_Occurred()) {
|
||||
PyErr_SetObject(PyExc_StopIteration, Py_None);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
gen_getiter(PyObject *gen)
|
||||
{
|
||||
|
@ -187,12 +172,6 @@ gen_getiter(PyObject *gen)
|
|||
return gen;
|
||||
}
|
||||
|
||||
static struct PyMethodDef gen_methods[] = {
|
||||
{"next", (PyCFunction)gen_next, METH_NOARGS,
|
||||
"next() -- get the next value, or raise StopIteration"},
|
||||
{NULL, NULL} /* Sentinel */
|
||||
};
|
||||
|
||||
static PyMemberDef gen_memberlist[] = {
|
||||
{"gi_frame", T_OBJECT, offsetof(genobject, gi_frame), RO},
|
||||
{"gi_running", T_INT, offsetof(genobject, gi_running), RO},
|
||||
|
@ -229,7 +208,7 @@ statichere PyTypeObject gentype = {
|
|||
0, /* tp_weaklistoffset */
|
||||
(getiterfunc)gen_getiter, /* tp_iter */
|
||||
(iternextfunc)gen_iternext, /* tp_iternext */
|
||||
gen_methods, /* tp_methods */
|
||||
0, /* tp_methods */
|
||||
gen_memberlist, /* tp_members */
|
||||
0, /* tp_getset */
|
||||
0, /* tp_base */
|
||||
|
|
Loading…
Reference in New Issue