mypy doesn't get error with typed `dict(*{'A': 10})` while PVM gets error
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
*Memo:
- python test.py
- mypy test.py
- Python 3.14.0
- mypy 1.19.1
PVM gets the error with typed and untyped dict(*{'A': 10}) as shown below:
v1 = dict(*{'A': 10}) # Error
v2: dict[str, int] = dict(*{'A': 10}) # Error
ValueError: dictionary update sequence element #0 has length 1; 2 is required
But, mypy gets the error only for untyped dict(*{'A': 10}) while typed dict(*{'A': 10}) doesn't get error as shown below:
v1 = dict(*{'A': 10}) # Error
v2: dict[str, int] = dict(*{'A': 10}) # No error
error: Need type annotation for "v1" (hint: "v1: dict[, ] = ...")
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 riproducendo gli esempi in test.py con Python 3.14.0 e mypy 1.19.1, confrontando i casi di dict(*{'A': 10}) tipizzato e non tipizzato. Traccia il percorso del controllo dei tipi per l’assegnazione annotata e aggiungi un test di regressione che acquisisca la diagnostica prevista per la chiamata non valida a runtime.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 35/100