mypy should error about missing type vars in explicit type aliases
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug Report
Explicit type aliases don't allow no-args for generics, but don't error about it either.
To Reproduce
from typing import Generic, TypeVar
from typing_extensions import TypeAlias
T = TypeVar("T")
class Y(Generic[T]): ...
Alias2a = Y
reveal_type(Alias2a) # N: Revealed type is "def [T] () -> __main__.Y[T`1]"
Alias2b: TypeAlias = Y
reveal_type(Alias2b) # N: Revealed type is "def () -> __main__.Y[Any]"
Expected Behavior
An error when defining Alias2b.
Actual Behavior
No error when defining Alias2b.
Your Environment
Checked on mypy playground.
- Mypy version used: v1.14
- Mypy command-line flags:
--disallow-any-generics - Mypy configuration options from
mypy.ini(and other config files): N/A - Python version used: 3.12
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Führe die bereitgestellte Python-3.12-Reproduktion mit --disallow-any-generics aus und vergleiche die Ergebnisse von reveal_type für Alias2a und Alias2b. Als erledigt gilt die Aufgabe, wenn das Definieren von Alias2b als expliziter generischer Typalias einen Fehler wegen fehlender Typvariablen meldet, während das gemeldete Verhalten von Alias2a weiterhin verstanden ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 45/100