fix yield from return value on custom iterators (closes #15568)
diff --git a/Python/ceval.c b/Python/ceval.c
index 7e9318b..82bfcc6 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1843,7 +1843,7 @@
             } else {
                 _Py_IDENTIFIER(send);
                 if (u == Py_None)
-                    retval = PyIter_Next(x);
+                    retval = Py_TYPE(x)->tp_iternext(x);
                 else
                     retval = _PyObject_CallMethodId(x, &PyId_send, "O", u);
             }