Bad error message: mypy reports 'Name is not defined' when using an object member as super class of another class
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Consider the following valid Python 3 code:
class A():
pass
class B():
def __init__(self):
self.a = A
b = B()
class C(b.a):
pass
Actual behavior:
Mypy will report Name 'b.a' is not defined on the line class C(b.a):.
Expected behavior:
No error reported by Mypy.
Python version: 3.8.2
Mypy version: 0.770 (master not checked)
Flags: no flags
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
Beginnen Sie damit, das gemeldete Python-Snippet mit mypy zu reproduzieren und nachzuverfolgen, wie der Typechecker ein Objektmitglied verarbeitet, das in einem Klassenbasisausdruck verwendet wird. Das Issue ist abgeschlossen, wenn dieser gültige Code keinen Fehler 'Name is not defined' erzeugt und ein Regressionstest das Verhalten abdeckt.
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
- 30/100