Detect out-of-scope variable from a with-block
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Is it possible to have mypy detect the use of variables that have gone outside of their intended scope in a with-block?
with expr() as value:
do_good_stuff(value)
do_bad_stuff(value)
value is still defined at this point, but has been cleaned up at the end of the with-block. I'd like to be able to detect such uses.
It feels like a typing error, as value isn't really the same type after the with-block (okay, I guess technically it is, but it isn't usable as the same type anymore).
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
Das Issue nennt keine Dateien, Tests oder Einstiegspunkte. Beginne damit, mypy's Behandlung von with-Block-Scopes und der Typprüfung zu finden, definiere dann das Diagnoseverhalten für eine Variable, die nach der Bereinigung verwendet wird, und füge Testabdeckung hinzu, die zeigt, dass die Verwendung innerhalb des Blocks weiterhin gültig ist, während die spätere Verwendung gemeldet wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100