compile(): `func_type` mode is not documented
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
In 2019, compile() got a new mode="func_type" used to parse the signature of a function as AST:
- commit dcfcd146f8e6fc5c2fc16a4c192a0c5f5ca8c53c
- issue gh-79947
>>> compile('() -> int', '<string>', 'func_type', flags=ast.PyCF_ONLY_AST)
FunctionType(argtypes=[], returns=Name(id='int', ctx=Load()))
>>> import ast; ast.parse('() -> int', '<string>', 'func_type')
FunctionType(argtypes=[], returns=Name(id='int', ctx=Load()))
It's tested by test_type_comments using ast.parse() function.
The 'func_type' mode is documented in ast.parse() documentation:
In addition, if mode is 'func_type', the input syntax is modified to correspond to PEP 484 “signature type comments”, e.g. (str, int) -> List[str].
But it's not documented in the compile() function documentation. Should it be documented there as well? Maybe at least by redirecting to ast.parse()?
Linked PRs
- gh-153542
- gh-153561
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
Comparez la documentation de la fonction compile() avec la documentation existante de ast.parse() liée dans l’issue, en vous concentrant sur le mode non documenté 'func_type'. La tâche est considérée comme terminée lorsque la documentation de compile() décrit ce mode ou redirige clairement les lecteurs vers l’explication de ast.parse() ; consultez les PR liés gh-153542 et gh-153561 avant de commencer.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- documentation
- Type d'issue
- Documentation
- Difficulté
- 1/5
- Temps estimé
- Moins d'une heure
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 35/100