python / python/mypy

No error on new union syntax with union of fake types (`TypeAlias` and `None`)

Offen
#11,582 5 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug topic-pep-604
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
Ø Merge
1 T. 18 Std.
Gemergte PRs (30 T.)
54

Beschreibung

from typing import TypeAlias

AMONGUS: TypeAlias = "int"
IMPOSTER: TypeAlias = "str"

a: AMONGUS | IMPOSTER = 0  # SUS ALERT
b: AMONGUS | None = None  # SUS ALERT

Any types in a new union syntax that are fake(looking at you None) will be runtime errors.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Führe zunächst den bereitgestellten Python-Reproduzierer aus und bestätige, wie mypy mit den TypeAlias-Referenzen und None in der neuen Union-Syntax umgeht. Verfolge den relevanten Typprüfpfad für diese Union-Mitglieder und füge anschließend Regressionstests hinzu, die die beabsichtigte Diagnose oder das beabsichtigte Verhalten demonstrieren; abgeschlossen ist die Aufgabe, wenn die gemeldeten Fake-Type-Fälle nicht mehr ohne den erwarteten Fehler durchlaufen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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