Skip to content

mypy should give error at the timing when the type alias set multiple TypeVarTuple-based type parameters is defined but not used #20544

@hyperkai

Description

@hyperkai

*Memo:

  • mypy test.py
  • mypy 1.19.1
  • Python 3.14.0

Defining the type alias set multiple TypeVarTuple-based type parameters, mypy doesn't give error while mypy gives the error, when using the type alias as shown below so mypy should give error at the timing when the type alias set multiple TypeVarTuple-based type parameters is defined but not used:

*Memo:

  • pyright and pyrefly give error at the timing when the type alias set multiple TypeVarTuple-based type parameters is defined.
''' New syntax '''
type TA[*Ts1, *Ts2] = tuple[*Ts1] | tuple[*Ts2] # No error
''' New syntax '''

''' Old syntax '''
# from typing import TypeAlias, TypeVarTuple

# Ts1 = TypeVarTuple('Ts1')
# Ts2 = TypeVarTuple('Ts2')

# TA: TypeAlias = tuple[*Ts1] | tuple[*Ts2] # No error
''' Old syntax '''

v: TA[*tuple[int, ...], *tuple[str, ...]] # Error

error: More than one variadic Unpack in a type is not allowed

Metadata

Metadata

Assignees

Labels

bugmypy got something wrongtopic-pep-646PEP 646 (TypeVarTuple, Unpack)

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions