From 74c17539f26cdefff2b92c93f4233e59106a3f3f Mon Sep 17 00:00:00 2001 From: INADA Naoki Date: Tue, 25 Oct 2016 19:00:45 +0900 Subject: [PATCH] Issue #28430: Fix iterator of C implemented asyncio.Future doesn't accept non-None value is passed to it.send(val). --- Misc/NEWS | 3 +++ Modules/_asynciomodule.c | 10 ++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index 563f0c0a467..655e22c9fea 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -29,6 +29,9 @@ Core and Builtins Library ------- +- Issue #28430: Fix iterator of C implemented asyncio.Future doesn't accept + non-None value is passed to it.send(val). + - Issue #27025: Generated names for Tkinter widgets now start by the "!" prefix for readability (was "`"). diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c index 37298cc4649..a3c96c8d4ab 100644 --- a/Modules/_asynciomodule.c +++ b/Modules/_asynciomodule.c @@ -815,13 +815,11 @@ FutureIter_iternext(futureiterobject *it) } static PyObject * -FutureIter_send(futureiterobject *self, PyObject *arg) +FutureIter_send(futureiterobject *self, PyObject *unused) { - if (arg != Py_None) { - PyErr_Format(PyExc_TypeError, - "can't send non-None value to a FutureIter"); - return NULL; - } + /* Future.__iter__ doesn't care about values that are pushed to the + * generator, it just returns "self.result(). + */ return FutureIter_iternext(self); }