asyncio.tasks: Fix CoroWrapper to workaround yield-from bug in CPython < 3.4.1
Closes issue #21209.
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py
index 153f731..0366da3 100644
--- a/Lib/asyncio/tasks.py
+++ b/Lib/asyncio/tasks.py
@@ -49,7 +49,10 @@
def __next__(self):
return next(self.gen)
- def send(self, value):
+ def send(self, *value):
+ # We use `*value` because of a bug in CPythons prior
+ # to 3.4.1. See issue #21209 and test_yield_from_corowrapper
+ # for details. This workaround should be removed in 3.5.0.
return self.gen.send(value)
def throw(self, exc):