Surprising results from the HTML report
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
I was able to replicate your problems on mypy master (
mypy 2.0.0+dev.3cda6ec255a530e7da8bec44d197399aec73e96d (compiled: no)), such as the@overloadthing. I think this is a bug, especially considering that the typeshed definition of overload does not containAny, but it is hard for me to say definitively (due to the lack of documentation).With the following code:
from typing import overload def foo(x): return x def foo1(x: int) -> int: return x def foo2(x) -> int: return x def foo3(x: int): return x def foo4(x: int): return x @overload def foo5(x: int) -> int: ... @overload def foo5(x: str) -> str: ... def foo5(x): return x @overload def foo6(x: int) -> int: ... @overload def foo6(x: str) -> str: ... def foo6(x: int|str) -> int|str: return xAnd the following command:
uv run mypy --html-report tmp_dir tmp.pyI get the following result:
![]()
The
@overloadlines are red but on hover say "No Anys on this line!". Surprisingly, this is also true ofdef foo(x):anddef foo5(x):My
isinstancelines are always colored green, not yellow. In fact, the lineisinstance(1,list)is green, but on hover it saysAny Types on this line: Omitted Generics (x3). I think this kind of makes sense as behavior given the rules aboutisinstancebut I think in that case the hovertext should maybe be different.In the following code, the
print("OK")line is colored red despite on hover sayingNo Anys on this line!. Theif isinstance(v,list):line is green despite sayingAny Types on this line: Omitted Generics (x3)v = 1 if isinstance(v,list): print("OK")Possibly related: https://github.com/python/mypy/issues/14297
Originally posted by @wyattscarpenter in #13495
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
Riproduci il report con l’esempio tmp.py fornito e uv run mypy --html-report tmp_dir tmp.py. Confronta i colori HTML e il testo al passaggio del mouse per le righe con @overload, isinstance e codice irraggiungibile. Il lavoro è completato quando gli indicatori visivi e le descrizioni al passaggio del mouse del report rappresentano in modo coerente l’uso di Any rilevato e il codice irraggiungibile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- tooling
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 55/100