misleading SyntaxError (f-string and type alias related) (original) (raw)

Bug report

Bug description:

The following code produces a misleading syntax error.

lambda name_3=f'{name_4}': {name_3}

type {}[name_4] = {}

output (Python 3.12.0rc2+):

File "/home/frank/projects/pysource-codegen/bug.py", line 1 lambda name_3=f'{name_4}': {name_3} ^^^^^^^^^^^^^^^^^^^^^^^^^^ SyntaxError: f-string: lambda expressions are not allowed without parentheses

The first line should be valid python syntax and I would expect to get an syntax error for the wrong type alias name.

side note:
This is generated code. I found this issue during my work for the python 3.12 support for pysource-codegen.

CPython versions tested on:

3.12

Operating systems tested on:

Linux

Linked PRs