python / python/mypy

What to do if a stub has an incorrect bool return for __exit__

Offen
#7,666 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

priority-1-normal topic-reachability topic-usability
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

If the line after a with statement becomes reachable because a stub has __exit__ annotated to return bool, even though the actual runtime return value is always False, this can result in confusing missing return statement errors.

One way to deal with this would be to detect this and add a note saying that the __exit__ return type may be causing a spurious error.

Follow-up to #7655. See #7577 for context.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Lies zunächst den Kontext in den Issues #7655 und #7577, und reproduziere dann den Fehler wegen der fehlenden return-Anweisung mit einem Stub, dessen exit mit dem Rückgabetyp bool annotiert ist. Die Umsetzung sollte eine gezielte Diagnose oder einen Hinweis enthalten, der erklärt, wann diese Annotation den irrtümlichen Fehler verursacht, sowie Tests, die dieses Verhalten abdecken.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.