`Final` nested inside `ClassVar` results in `Any`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug Report
According to the Python 3.13 ClassVar documentation, ClassVar can be nested within Final, and Final can likewise be nested within ClassVar.
Changed in version 3.13:
ClassVarcan now be nested inFinal, and vice versa.
However, Mypy seems to type-check only the case where ClassVar is nested inside Final, not the reverse.
To Reproduce
https://mypy-play.net/?mypy=latest&python=3.13&flags=strict&gist=996a968ac738badee42e71c23bd5f539
Expected Behavior
Success: no issues found in 1 source file
Actual Behavior
main.py:7: error: Returning Any from function declared to return "int" [no-any-return]
Found 1 error in 1 file (checked 1 source file)
Your Environment
- Mypy version used: mypy 1.17.1 (compiled: yes)
- Mypy command-line flags:
--strict - Python version used: Python 3.13.3
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
Führe zunächst den verknüpften mypy-play-Reproduzierer mit Python 3.13 und --strict aus und verfolge dann, wie mypy die beiden Verschachtelungsreihenfolgen von ClassVar und Final behandelt. Füge einen Regressionstest für Final, verschachtelt in ClassVar, hinzu und überprüfe, dass das Beispiel keine Fehler meldet, einschließlich no-any-return.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100