Open
Description
Bug report
Bug description:
I deliberated on whether to post this as its so inconsequential, but the fix (in ast.py
at least, dunno about compile
) is super trivial so might as well. It goes back to 3.10 at least.
>>> ast.parse('pass', mode='exec')
Module(body=[Pass()], type_ignores=[])
>>> ast.parse('pass', mode='single')
Interactive(body=[Pass()])
>>> ast.parse('if 1: pass', mode='exec')
Module(body=[If(test=Constant(value=1, kind=None), body=[Pass()], orelse=[])], type_ignores=[])
>>> ast.parse('if 1: pass', mode='single')
Traceback (most recent call last):
File "<python-input-4>", line 1, in <module>
ast.parse('if 1: pass', mode='single')
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/tom/work/cpython/main/cp/Lib/ast.py", line 46, in parse
return compile(source, filename, mode, flags,
_feature_version=feature_version, optimize=optimize)
File "<unknown>", line 1
if 1: pass
SyntaxError: invalid syntax
>>> ast.parse('if 1: pass\n', mode='single')
Interactive(body=[If(test=Constant(value=1, kind=None), body=[Pass()], orelse=[])])
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux