Fix wrapping into StopIteration of return values in generators and coroutines (#644)

This commit is contained in:
Yury Selivanov 2017-03-12 15:53:07 -04:00 committed by GitHub
parent 2b27e2e6a3
commit b7c9150b68
2 changed files with 16 additions and 2 deletions

View file

@ -574,8 +574,7 @@ _PyGen_SetStopIterationValue(PyObject *value)
PyObject *e;
if (value == NULL ||
(!PyTuple_Check(value) &&
!PyObject_TypeCheck(value, (PyTypeObject *) PyExc_StopIteration)))
(!PyTuple_Check(value) && !PyExceptionInstance_Check(value)))
{
/* Delay exception instantiation if we can */
PyErr_SetObject(PyExc_StopIteration, value);