On 22 November 2017 at 15:47, Paul Moore <p.f.mo...@gmail.com> wrote:
> I generally don't understand "await" in any context, so I deferred > judgement on that :-) Based on your comment that they are equally > tricky, I'd suggest we prohibit them both ;-) > > Less facetiously, comprehensions are defined in the language reference > in terms of a source translation to nested loops. That description > isn't 100% precise, but nevertheless, if yield/async in a > comprehension doesn't behave like that, I'd consider it a bug. So > current behaviour (for both yield and await) is a bug, and your > proposed semantics for yield is correct. > I think there may be a small misunderstanding here. The situation is different for comprehensions and generator expressions, let me summarize the current state: - yield in comprehensions works "wrong" (a shorthand for not according to the docs/naive expectations, i.e. not equivalent to for loop) - await in comprehensions works "right" - yield in generator expressions works "wrong" - await in generator expressions works "wrong" After some thinking, both `yield` and `await` look quite mind bending in _generator expressions_, so maybe the right compromise strategy is: - fix yield in comprehensions - await in comprehensions already works - make both `yield` and `await` a SyntaxError in generator expressions. What do you think? -- Ivan
_______________________________________________ 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/archive%40mail-archive.com