Invalid type for redefined variable inside nested function
Offen
Dieses Issue hat noch niemand übernommen.
bug
false-positive
priority-0-high
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
The revealed type in this example is int, even though it should be str:
# mypy: allow-redefinition
def f() -> None:
x = 0
print(x)
x = 'x'
def g() -> None:
reveal_type(x) # int, but should be str
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 bereitgestellte mypy-Beispiel auszuführen und zu bestätigen, dass reveal_type(x) statt str int meldet. Verfolge die Verarbeitung von allow-redefinition über die Grenze der verschachtelten Funktion hinweg; abgeschlossen ist die Aufgabe, wenn der aufgedeckte Typ in g str ist und das Beispiel weiterhin gültig bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100