Support `enum.global_enum`
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 20.6k
- Forks
- 3.3k
- Métriques de merge des PR
- Métriques de PR en attente
Description
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)
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par exécuter avec Python et mypy l’exemple fourni global_enum.py, puis suivez la manière dont mypy gère les décorateurs enum et la liaison des noms au niveau du module. Ajoutez la prise en charge des noms exportés par enum.global_enum et vérifiez que l’exemple ne signale plus d’erreur name-defined, avec une couverture de régression pour ce cas.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- devtools
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100