python / python/cpython

compile(): `func_type` mode is not documented

Aperta
#153,528 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

docs
Lingua principale
Python
Stelle
77.2k
Fork
35.9k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Confronta la documentazione della funzione compile() con la documentazione esistente di ast.parse() collegata nell'issue, concentrandoti sulla modalità non documentata 'func_type'. Il lavoro è completato quando la documentazione di compile() descrive questa modalità oppure reindirizza chiaramente i lettori alla spiegazione di ast.parse(); controlla le PR collegate gh-153542 e gh-153561 prima di iniziare.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
documentation
Tipo di issue
Documentazione
Difficoltà
1/5
Tempo stimato
Meno di un'ora
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.