`get_type_hints` occurs NameError only if import `__future__.annotations`
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 28/100
Piste de recherche
Reproduisez les deux exemples et comparez la manière dont typing.get_type_hints résout l’annotation de retour de la fonction locale avec et sans future.annotations. Examinez ensuite l’implémentation de get_type_hints et ses tests concernant les alias génériques et les annotations différées ; le travail est terminé lorsque le comportement attendu et tout workaround pris en charge sont établis dans l’issue ou couverts par un test de régression ciblé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
from typing import get_type_hints
class A[T]:
def __init__(self, x: T):
self.x = x
def foo(self):
def bar() -> T:
return self.x
print(get_type_hints(bar))
A[int](5).foo()
Output: {'return': T}
from __future__ import annotations # Add this
from typing import get_type_hints
class A[T]:
def __init__(self, x: T):
self.x = x
def foo(self):
def bar() -> T:
return self.x
print(get_type_hints(bar))
A[int](5).foo()
Error:
NameError: name 'T' is not defined
Is this the expected behavior?
Also, is there a way to make it work if __future__.annotations is imported?
- Langage dominant
- Python
- Étoiles
- 1.8k
- Forks
- 302
- Merge moyen
- 23 h
- PR mergées (30 j)
- 8
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de python/typing
-
topic: typing spec
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
topic: typing spec
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
topic: documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
topic: documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
-
topic: conformance tests topic: typing spec
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
Toutes les issues de python/typing
Issues similaires
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Ouvertearea: harness bug status: needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Human-Agent-Society/reef#625 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 80/100
learningequality/kolibri#15351 · 2 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Name consistency Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
eellak/triplestore#65 · 1 commentaire ·