Mypy issue with python scoping rule
Offen
Dieses Issue hat noch niemand übernommen.
bug
priority-1-normal
topic-runtime-semantics
topic-variable-scope
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Mypy pass following code as valid:
def now() -> str:
return "now"
def usage() -> None:
now = now()
print(now + "!")
usage()
Snippet will raise UnboundLocalError error.
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 Python-Snippet zu reproduzieren und mypys Behandlung lokaler Namensbindungen und der Bereichsanalyse zu untersuchen. Erledigt ist die Aufgabe, wenn mypy die ungültige Referenz erkennt und meldet, bei der das lokale now vor seiner Zuweisung verwendet wird; das Issue nennt zunächst keine Quelldatei und keinen Test.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 35/100