fail typechecking if a parameterized type doesn't declare `__class_getitem__`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
feature
a parameterized (generic) class/type should fail to typecheck if it doesn't have the __class_getitem__ method
pitch
the syntax for parameterized types is SomeClass[int]. however, if SomeClass doesn't define the __class_getitem__ method, this will typecheck but not actually run properly. we ran into this unexpectedly over at typeddjango/django-stubs/issues/507
it would be extremely helpful to at least have a command line option to warn/error on this, just so that nobody runs into it unexpectedly
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, den Type-Checking-Pfad für parametrisierte Klassen und die bestehende Behandlung von class_getitem zu finden, und untersuche anschließend die angrenzenden Tests und Muster für Kommandozeilenoptionen. Fertig ist die Aufgabe, wenn parametrisierte Typen ohne class_getitem die vereinbarte Warnung oder den vereinbarten Fehler erzeugen und die Funktionalität sowie ihre Option durch Tests abgedeckt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 30/100