python / python/typing_extensions
Backport support for get_type_hints on lone stringified ClassVar
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 583
- Forks
- 146
- Ø Merge
- 10 Std. 11 Min.
- Gemergte PRs (30 T.)
- 5
Beschreibung
Currently, both typing.get_type_hints and typing_extensions.get_type_hints fail on a lone stringified ClassVar annotation in Python 3.9 and 3.10:
from __future__ import annotations
from typing import ClassVar, get_type_hints as get_type_hints
from typing_extensions import get_type_hints as get_type_hints_ext
class Foo:
MY_CLASS_CONSTANT: ClassVar = 5
try:
_ = get_type_hints(Foo)
except TypeError as exc:
print(exc)
try:
_ = get_type_hints_ext(Foo)
except TypeError as exc:
print(exc)
This is unfortunate, as https://github.com/python/cpython/issues/90711 addressed this for Python 3.11+, so it would be nice if typing-extensions backported this fix for older python versions.
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
Beginne damit, das bereitgestellte Beispiel unter Python 3.9 und 3.10 zu reproduzieren, und untersuche anschließend die Implementierung von typing_extensions.get_type_hints und die vorhandenen Tests. Als abgeschlossen gilt die Arbeit, wenn sowohl typing.get_type_hints als auch typing_extensions.get_type_hints die einzelne als String dargestellte ClassVar so behandeln wie in Python 3.11+.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100