Skip to content

TypeVarTuple and ParamSpec don't work together #99344

Closed
@LeeeeT

Description

@LeeeeT

Bug report

The following code gives me an error:

from typing import Generic, TypeVarTuple, ParamSpec


Ts = TypeVarTuple("Ts")

P = ParamSpec("P")


class Foo(Generic[*Ts, P]):
    pass


Foo[int, str, [bytes]]
TypeError: Too many arguments for <class 'Foo'>; actual 3, expected 2

I don't see any reasons why it doesn't work with ParamSpec. I believe it should assign int, str to Ts and [bytes] to P.

Environment

  • CPython versions tested on: 3.11
  • Operating system and architecture: Linux x86_64

Metadata

Metadata

Labels

3.11only security fixes3.12only security fixesstdlibPython modules in the Lib dirtopic-typingtype-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions