Closed
Description
When instrumenting regular for
loops, we instrument the FOR_ITER
instruction as the LEFT
branch and the POP_ITER
instruction as the RIGHT
branch.
This doesn't work for async for
as it uses exceptions to exit the loop.
Raising an exception is the documented behavior for exiting a [async] generator, so we will still need to generate an event for the exception being raised, much as we do in INSTRUMENTED_END_FOR
as well as the BRANCH
events.