Give better error message if type inference fails because of unsatisfiable upper bound
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 20.6k
- Fork
- 3.3k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
After #5699 in certain cases (see testWideOuterContextEmptyError) if type inference fails, mypy gives an obscure error like
Incompatible types in assignment (expression has type "List[<nothing>]", variable has type "List[str]")
This error message could be improved. Here are some ideas:
- Record that we didn't use the outer context because of unsatisfied bound and add a note about this
- (Probably better) If type variable with a bound is used in an invariant context and we can't infer a value, we currently infer
C[<nothing>]. What if we'd instead inferredC[<bound>]?
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dal caso testWideOuterContextEmptyError menzionato nell’issue e analizza il percorso di inferenza dei tipi per un limite superiore non soddisfatto in un contesto invariante. Confronta gli approcci diagnostici proposti, quindi aggiungi un test di regressione che mostri il messaggio di errore migliorato ed esegui la suite di test pertinente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- compilers
- Tipo di issue
- Bug
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100