Yury Selivanov <yseliva...@gmail.com> added the comment:

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.

----------

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

Reply via email to