(🐞) Heterogeneous `Enum`'s `.value` is `Any` & Union of homogeneous `Enum`s `.value` is `Any`
Offen
Dieses Issue hat noch niemand übernommen.
bug
topic-enum
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
from enum import Enum
class Homo1(Enum):
A = 1
B = 2
class Homo2(Enum):
A = 1
B = 2
class Hetero(Enum):
A = 1
B = ""
homo: Homo1
reveal_type(homo.value) # 1 | 2
hetero: Hetero
reveal_type(hetero.value) # Any
homo_union: Homo1 | Homo2
reveal_type(homo_union.value) # Any
- possibly related #14092
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, die bereitgestellten Enum-Beispiele zu reproduzieren und die Inferenz von mypy für heterogene Enum-Werte und Vereinigungen homogener Enums nachzuverfolgen. Bestimme die erwarteten offengelegten Typen, die nicht Any sind, und füge gezielte Regressionstests hinzu; abgeschlossen ist die Aufgabe, wenn diese Fälle nicht mehr Any offenlegen.
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