Tracebacks sometimes say an error is on line 0
Consider
import ast
eval(compile(ast.fix_missing_locations(ast.parse('z', mode = 'eval')), '<string>', 'eval'))
entered at the REPL. On PyPy 7.3.9 for Python 3.9.12, this produces:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 0, in <module>
NameError: name 'z' is not defined
Contrast CPython 3.10.4's:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'z' is not defined
I think this is a regression from PyPy for Python 3.8.