On 22 November 2017 at 17:24, Antoine Pitrou <solipsis@pitrou.net> wrote:
On Wed, 22 Nov 2017 17:08:14 +0100
Ivan Levkivskyi <levkivskyi@gmail.com> wrote:
> On 22 November 2017 at 16:56, Yury Selivanov <yselivanov.ml@gmail.com>
> wrote:
>
> > On Wed, Nov 22, 2017 at 10:10 AM, Ivan Levkivskyi <levkivskyi@gmail.com>
> > wrote:
> > > On 22 November 2017 at 15:47, Paul Moore <p.f.moore@gmail.com> wrote:
> > [...]
> > I'm all for prohibiting using 'yield' expression in generator
> > expressions or comprehensions.  The semantics is way to hard to
> > understand and hence be of any value.
> >
> > Making 'await' a SyntaxError is absolutely not an option.  Async
> > generator expressions are a shorthand syntax for defining asynchronous
> > generators (PEP 525), and it's already being used in the wild.
> >
>
> OK, makes sense, so it looks like we may have the following plan:
>
> - fix `yield` in comprehensions
> - update PEP 530 and docs re generator expressions vs comprehensions
> - make `yield` in generator expressions a SyntaxError

Given a comprehension (e.g. list comprehension) is expected to work
nominally as `constructor(generator expression)`

As Yury just explained, these two are not equivalent if there is an `await` in the comprehension/generator expression.

--
Ivan