Message313538
Thanks so much for looking into this, Serhiy!
> 2. StopAsyncIteration is dynamically looked up in globals. If set the global StopAsyncIteration or delete it from builtins (for example at the shutdown stage), this will break any "async for".
IIRC I adapted the approach from some other place in compile.c. Quick looking at it reveals that the `assert` statement is compiled in a similar way w.r.t. how AssertionError is looked up at runtime. You might want to check if there are other places in compile.c that need to be fixed.
> PR 6052 fixes issue 1. I don't know what is the best place for tests. There are two files with tests for "async for": test_coroutines.py and test_asyncgen.py. I'm not sure that new tests use the simplest way for testing this behavior. Could you please look at them Yury?
I think the new tests are fine. |
|
Date |
User |
Action |
Args |
2018-03-10 15:56:11 | yselivanov | set | recipients:
+ yselivanov, serhiy.storchaka |
2018-03-10 15:56:11 | yselivanov | set | messageid: <1520697371.44.0.467229070634.issue33041@psf.upfronthosting.co.za> |
2018-03-10 15:56:11 | yselivanov | link | issue33041 messages |
2018-03-10 15:56:11 | yselivanov | create | |
|