`reveal_type()` cannot get `*Ts` type of the instance of a generic class
Offen
Dieses Issue hat noch niemand übernommen.
bug
pending
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
*Memo:
mypy --strict test.py- mypy 1.19.0
- Python 3.14.0
- Windows 11
reveal_type() can get T type of the instance of a generic class as shown below:
class MyCls[T = int]:
def __init__(self, x: T | None = None) -> None: ...
reveal_type(MyCls()) # builtins.int
But reveal_type() cannot get *Ts type of the instance of a generic class as shown below:
class MyCls[*Ts = *tuple[int, ...]]:
def __init__(self, *args: *Ts) -> None: ...
reveal_type(MyCls()) # ()
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
Beginne damit, das Beispiel in test.py mit mypy --strict nachzustellen und reveal_type() für T mit dem variadischen *Ts-Fall zu vergleichen. Verfolge anschließend den für Instanztypen verantwortlichen Inferenzpfad generischer Klassen und ergänze Tests, die zeigen, dass der Standard-Tupeltyp wie erwartet angezeigt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 48/100