Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Docment renderers collapse parameterized annotations to their unparameterized type

Aperta Adatta ai principianti
#910 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

@civvic ci sta già lavorando.

Dal 13/8/2026.

  • #913 di @civvic — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
74/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
python
Ambito
documentation

Direzione di ricerca

Inizia in fastcore.docments da _maybe_nm() e traccia il modo in cui DocmentText, DocmentList e DocmentTbl formattano le annotazioni per sig2str. Esegui la riproduzione fornita con list[str] e tuple[str, int], quindi verifica che i parametri generici vengano preservati, mentre le classi ordinarie e i valori predefiniti mantengano la formattazione esistente.

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

Descrizione

Docment-based signature rendering loses type parameters from generic annotations.

For example, list[str] is rendered as list, and tuple[str, int] is rendered as tuple.

Reproduction

from fastcore.docments import sig2str

def f(
    items:list[str],
) -> tuple[str, int]:
    pass

print(sig2str(f))

Actual output:

def f(
    items:list
)->tuple:

Expected output:

def f(
    items:list[str]
)->tuple[str,int]:

Environment

  • fastcore: 2.2.13
  • Branch: main

Scope

The issue affects multiple docment renderers, including:

  • DocmentText
  • DocmentList
  • DocmentTbl

Likely cause

The renderers use _maybe_nm() for annotations:

def _maybe_nm(o):
    if o == inspect._empty: return ''
    return o.__name__ if hasattr(o, '__name__') else str(o)

Parameterized generic aliases expose the unparameterized origin through __name__:

tuple[str, int].__name__
# 'tuple'

By comparison, annotation-aware formatting preserves the parameters:

inspect.formatannotation(tuple[str, int])
# 'tuple[str, int]'

Annotation formatting should preserve generic parameters without changing the existing formatting of ordinary classes or default values.

Lingua principale
Jupyter Notebook
Stelle
1.1k
Fork
295
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

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.

Altre issue di AnswerDotAI/fastcore

Tutte le issue di AnswerDotAI/fastcore

Issue simili

Altre issue su Documentation

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.