py/compile: Raise an error on async with/for outside an async function.
A simple reproducer is: async for x in (): x Before this change, it would cause an assertion error in mpy-cross and micropython-coverage.
This commit is contained in:
committed by
Damien George
parent
a60ad33641
commit
f2dbc91022
19
tests/basics/async_syntaxerror.py
Normal file
19
tests/basics/async_syntaxerror.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# test syntax errors using async
|
||||
|
||||
try:
|
||||
exec
|
||||
except NameError:
|
||||
print("SKIP")
|
||||
raise SystemExit
|
||||
|
||||
|
||||
def test_syntax(code):
|
||||
try:
|
||||
exec(code)
|
||||
print("no SyntaxError")
|
||||
except SyntaxError:
|
||||
print("SyntaxError")
|
||||
|
||||
|
||||
test_syntax("async for x in (): x")
|
||||
test_syntax("async with x: x")
|
||||
Reference in New Issue
Block a user