Yury Selivanov added the comment:

An updated patch is attached.  I had to implement a little bit more 
sophisticated tracking of one-line functions to fix parsing of things like

    def foo():
        async def f(): pass
        async def f(): pass
        async = 1

I hope that test_coroutine.py now covers all possible legal and illegal 
async/await syntax.

> Haven't reviewed the patch, but this approach sounds great (in fact I had
> assumed you were doing this already, and I was a bit surprised by some of
> the problems you encountered :-).

Yes, I'm a bit surprised myself ;)  I guess one of the reasons why I tried to 
do more in tokenizer is that at the time of me hacking the tokenizer, compile.c 
wasn't quite ready (specifically, catching async for/async with/await outside 
of async functions).

> Good news :) I guess this means we can also remove the sentence I added at 
> [..]

Right!

----------
Added file: http://bugs.python.org/file39965/issue24619.2.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24619>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to