python / python/mypy

false error "Name "..." is not defined" when a valid symbol is used in a type position

Offen
#11,520 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug diagnostics
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

from typing import cast

class Test:
    a: int
    
t = Test()

cast(t.a, int)  # error: Name "t.a" is not defined

This leave me being like:
image

Till I realize that I got the args the wrong way around.

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

Beginne damit, das bereitgestellte Python-Snippet mit mypy zu reproduzieren, und vergleiche die Diagnose mit der in cast verwendeten Reihenfolge der Argumente. Verfolge den Typprüfpfad für Ausdrücke, die an einer Typstelle verwendet werden; abgeschlossen ist die Untersuchung, wenn festgestellt wurde, ob die Diagnose falsch ist, und ein fokussierter Regressionstest definiert wurde, oder wenn der Report als ungültig geschlossen wurde.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
15/100

Neue Issues direkt in Ihr Postfach

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