Mypy should warn about conditions whose value can be deduced
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Feature
Mypy can warn about left and right operands of conditions its value mypy can deduce. Unfortunately, it cannot do so for conditions consisting of one operand.
Pitch
val = 1337
if val is not None:
pass
if val is not None and True:
pass
Mypy can hint about the pointless left hand operand in the second if. Unfortunately, it does not do so for the first if. Supporting this use case would help the programmer to simplify her code by suggesting conditions to remove.
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
Beginne mit mypys bestehender Diagnose für den überflüssigen linken Operanden im Beispiel and True, und finde anschließend die Implementierung und die Tests, die sie erzeugen. Füge Abdeckung für den Fall mit einem einzelnen Operanden if val is not None hinzu und verifiziere, dass mypy die entfernungsfähige Bedingung meldet, ohne das bestehende Verhalten zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100