type of variable not narrowed after `continue` statement inside `try`/`except` block inside a for loop inside a function
Offen
Dieses Issue hat noch niemand übernommen.
bug
topic-type-narrowing
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- Ø Merge
- 1 T. 18 Std.
- Gemergte PRs (30 T.)
- 54
Beschreibung
def _() -> None:
for value in [1,2]:
try:
foo = 1
except Exception:
foo = None
continue
reveal_type(foo) # `int | None`, should be `int`
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 damit, das Beispiel im verlinkten mypy playground zu reproduzieren, und untersuche die Typverengung im Kontrollfluss rund um die for-Schleife, try/except und die continue-Anweisung. Füge einen Regressionstest für diesen Fall hinzu; als erledigt gilt die Aufgabe, wenn reveal_type(foo) nach dem try/except-Block als int gemeldet wird.
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