Support `enum.global_enum`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Feature
Mypy should support module-level constants defined by enum.global_enum.
Pitch
enum.global_enum adds an enum’s members to the global namespace. Mypy reports errors for any use of global constants defined that way. It would make enum_global much more usable if mypy recognized them as defined.
Example file:
import enum
@enum.global_enum
class Example(enum.Enum):
X = enum.auto()
print(X)
Current behavior:
$ python3.11 global_enum.py
X
$ mypy global_enum.py
global_enum.py:7: error: Name "X" is not defined [name-defined]
Found 1 error in 1 file (checked 1 source file)
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 bereitgestellte global_enum.py-Beispiel mit Python und mypy auszuführen, und verfolge anschließend, wie mypy enum-Dekoratoren und die Bindung von Namen auf Modulebene behandelt. Füge Unterstützung für die von enum.global_enum exportierten Namen hinzu und überprüfe, dass das Beispiel nun keinen name-defined-Fehler mehr meldet, mit einer Regressionstestabdeckung für diesen Fall.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100