On 29/03/2022 03:18, Michael Smith wrote:
On Mon, Mar 28, 2022 at 16:06 Patrick Reader <python-ideas@pxeger.com> wrote:
I would like to be able to use a `yield from` expression in a `return`
statement without parentheses, as a small quality of life tweak, i.e.:

return yield from gen

instead of

return (yield from gen)

What does this do? `return (yield …)` is the expression form, so this generator is really a coroutine, but unless I missed it your gist doesn't have a `.send` or `.throw` and you aren't using the value of StopIteration.

So I think your idea is really to create a shorthand for

yield from gen

Is that what you mean? or if I misunderstand please explain further.

In my example, the return value (StopIteration value) of the generator is the function which will handle the next character in the lexer. The value of a `yield from` expression is the StopIteration value.