Unreachability should detect redundant `isinstance`s even for `object` arguments
Offen
Dieses Issue hat noch niemand übernommen.
bug
topic-reachability
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug Report
See #20665
To Reproduce
def f(x: object) -> None:
if isinstance(x, int):
print("aaaa")
elif isinstance(x, int):
print("aaaa")
Expected Behavior
Error
Actual Behavior
No error
Your Environment
- Mypy version used: master
- Mypy command-line flags:
--warn-unreachable --strict - Mypy configuration options from
mypy.ini(and other config files): N/A - Python version used: 3.13
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere das Beispiel mit Python 3.13 unter Verwendung von mypy master und den Flags --warn-unreachable --strict. Verfolge die Unreachability-Analyse für wiederholte isinstance-Prüfungen, wenn das Argument als object typisiert ist, und bestätige, dass der redundante Zweig einen Fehler erzeugt, ohne anderes Verhalten zu ändern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100