(original) (raw)

So we are keeping asynchronous generator expressions as long as they are defined in an 'async def' coroutine?

Yury

On Sat, Nov 25, 2017 at 12:17 PM Brett Cannon <brett@python.org> wrote:


On Fri, Nov 24, 2017, 19:32 Guido van Rossum, <guido@python.org> wrote:
On Fri, Nov 24, 2017 at 4:22 PM, Guido van Rossum <guido@python.org> wrote:
The more I hear about this topic, the more I think that \`await\`, \`yield\` and \`yield from\` should all be banned from occurring in all comprehensions and generator expressions. That's not much different from disallowing \`return\` or \`break\`.

From the responses it seems that I tried to simplify things too far. Let's say that \`await\` in comprehensions is fine, as long as that comprehension is contained in an \`async def\`. While we \*could\* save \`yield \[from\]\` in comprehensions, I still see it as mostly a source of confusion, and the fact that the presence of \`yield \[from\]\` \*implicitly\* makes the surrounding \`def\` a generator makes things worse. It just requires too many mental contortions to figure out what it does.

I still propose to rule out all of the above from generator expressions, because those can escape from the surrounding scope.

+1 from me.

-Brett


--
--Guido van Rossum (python.org/\~guido)
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: https://mail.python.org/mailman/options/python-dev/brett%40python.org
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: https://mail.python.org/mailman/options/python-dev/yselivanov.ml%40gmail.com