`comparison-overlap` error not triggered for booleans
Offen
Dieses Issue hat noch niemand übernommen.
bug
topic-overlap
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
from typing import Literal
foo: Literal["foo"] = "foo"
# error: Non-overlapping equality check (left operand type: "Literal['foo']", right operand type: "Literal['bar']") [comparison-overlap]
foo == "bar"
bar: Literal[True]
# no error
bar == False
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 boolesche Beispiel im verlinkten mypy playground und vergleiche es mit dem gemeldeten Literal-Stringvergleich. Verfolge die Behandlung der Vergleichsüberschneidungsdiagnose für boolesche Operanden; die Aufgabe ist erledigt, wenn bar == False den erwarteten Gleichheitsfehler für nicht überlappende Werte meldet, ohne den bestehenden String-Fall zu beeinträchtigen.
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
- Klar beschrieben
- Anfängerfreundlichkeit
- 35/100