(🎁) Allow if expression / conditional base in class def

Offen
#12,445 5 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
compilers

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.

Beschreibung

feature priority-2-low semantic-analyzer topic-ternary-expression

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]
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
Ø Merge
1 T. 18 Std.
Gemergte PRs (30 T.)
54

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus python/mypy

Alle Issues in python/mypy

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.