New semantic analyzer: better error messages for cyclic cross-module definitions
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
This is a follow-up for https://github.com/python/mypy/pull/6527
The new analyzer gives to verbose (and a bit confusing) error in this case:
[case testNewAnalyzerCyclicDefinitionCrossModule]
import b
[file a.py]
import b
x = b.x # E: Cannot determine type of 'x'
[file b.py]
import a
x = a.x # E: Cannot resolve attribute "x", possible cyclic definition \
# E: Module has no attribute "x"
We can probably skip the second part by injecting a dummy Var with Any type in the a module namespace.
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 testNewAnalyzerCyclicDefinitionCrossModule mostrato nell’issue e confronta le diagnosi previste con il comportamento del nuovo analizzatore. Leggi il contesto successivo nella pull request 6527 e segui come vengono risolti gli attributi ciclici tra moduli. Il lavoro è completato quando la diagnosi ridondante viene rimossa, mentre l’errore utile di definizione ciclica rimane coperto dal test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- compilers
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100