Skip to content

SyntaxError location for *args in class bases is inconsistent #93165

Closed
@tusharsadhwani

Description

@tusharsadhwani

Code snippet:

class C(list[int]): ...

On Python 3.9:

>>> class C(list[*a]): ...
  File "<stdin>", line 1
    class C(list[*a]): ...
                   ^
SyntaxError: invalid syntax
>>> 

On Python 3.10:

>>> class C(list[*a]): ...
  File "<stdin>", line 1
    class C(list[*a]): ...
           ^
SyntaxError: expected ':'
>>>

I'd have expected it to point directly at the * in both cases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.10only security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions