Debugged by Victor.
del inner_gen
gc_collect()
+ def test_send_tuple_with_custom_generator(self):
+ # See issue #21209.
+ class MyGen:
+ def __iter__(self):
+ return self
+ def __next__(self):
+ return 42
+ def send(self, what):
+ nonlocal v
+ v = what
+ return None
+ def outer():
+ v = yield from MyGen()
+ g = outer()
+ next(g)
+ v = None
+ g.send((1, 2, 3, 4))
+ self.assertEqual(v, (1, 2, 3, 4))
+
def test_main():
from test import support
Core and Builtins
-----------------
+- Issue #21209: Fix sending tuples to custom generator objects with the yield
+ from syntax.
+
- Issue #21134: Fix segfault when str is called on an uninitialized
UnicodeEncodeError, UnicodeDecodeError, or UnicodeTranslateError object.
if (v == Py_None)
retval = Py_TYPE(reciever)->tp_iternext(reciever);
else
- retval = _PyObject_CallMethodId(reciever, &PyId_send, "O", v);
+ retval = _PyObject_CallMethodIdObjArgs(reciever, &PyId_send, v, NULL);
}
Py_DECREF(v);
if (retval == NULL) {