(🎁) Allow if expression / conditional base in class def
Offen
Dieses Issue hat noch niemand übernommen.
feature
priority-2-low
semantic-analyzer
topic-ternary-expression
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
I have some proxy objects and it's difficult to type them, I want to lie to mypy what the bases are
from typing import TYPE_CHECKING
class A: ...
class B: ...
class C(A if TYPE_CHECKING else B): ... # error: Invalid base class [misc]
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 der bedingten Basisklasse aus dem Issue mit mypy zu reproduzieren, und verfolge, wie Klassenbasen analysiert und als ungültig gemeldet werden. Als erledigt gilt die Aufgabe, wenn die gezeigte bedingte TYPE_CHECKING-Basisklasse ohne die Diagnose Invalid base class akzeptiert wird und eine Regressionstestabdeckung für das Beispiel vorhanden ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100