When accessing a functools.cached_property through the class, mypy incorrectly treats it as a Callable.
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 68/100
Rechercherichtung
Beginne damit, die cached_property-Reproduktion des Issues mit mypy 2.3.0 auszuführen und nachzuverfolgen, wie der Klassenzugriff auf functools.cached_property inferiert wird. Die Korrektur ist vollständig, wenn A.value als cached_property statt als Callable erkannt wird, sodass der Zugriff auf attrname ohne Fehler möglich ist; füge einen Regressionstest für dieses Beispiel hinzu, falls der Testort identifiziert wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Bug Report
When accessing a functools.cached_property through the class, mypy incorrectly treats it as a Callable.
To Reproduce
from functools import cached_property
class A:
@cached_property
def value(self) -> int:
return 1
@classmethod
def name(cls) -> str:
return cls.value.attrname
Expected Behavior
mypy should know that A.value is a cached_property, not a function.
Actual Behavior
error: "Callable[[A], int]" has no attribute "attrname" [attr-defined]
Environment
- Mypy version used: 2.3.0
- Python version used: 3.12
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- Ø Merge
- 1 T. 3 Std.
- Gemergte PRs (30 T.)
- 59
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python/mypy
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
bug topic-configuration topic-error-reporting
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
bug topic-attrs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
anthropics/skills#1811 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
speaches-ai/speaches#678 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
datalayer/mcp-compose#42 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
conda-forge/spacy-feedstock#177 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
UKGovernmentBEIS/inspect_evals#2523 ·