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

This commit is contained in:
Yury Selivanov 2017-03-12 17:04:06 -04:00 committed by GitHub
parent aac875fa2f
commit fa448de97d
3 changed files with 18 additions and 2 deletions

View file

@ -575,8 +575,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);