typing.get_type_hints wrong namespace for forward-declaration of inner class

Ouverte
#82,016 8 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
32/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
python
Domaine
tooling

Piste de recherche

Commencez par exécuter typing_check.py pour reproduire l’échec de get_type_hints, puis examinez l’implémentation de typing impliquée dans la résolution des déclarations anticipées pour les classes internes. Utilisez get_type_hints_for_inner_classes.zip et metaclass_workaround.py pour des cas supplémentaires ; l’issue est terminée lorsque la déclaration anticipée de la classe interne est résolue dans le namespace correct.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

stdlib topic-typing type-bug
BPO 37835
Nosy @ilevkivskyi
Files
  • typing_check.py: A simple file to reproduce the error with inner classes.
  • get_type_hints_for_inner_classes.zip
  • metaclass_workaround.py
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2019-08-13.09:36:43.877>
    labels = ['3.7', 'type-bug', 'library']
    title = 'typing.get_type_hints wrong namespace for forward-declaration of inner class'
    updated_at = <Date 2019-09-09.09:59:14.831>
    user = 'https://bugs.python.org/netbnd'
    

    bugs.python.org fields:

    activity = <Date 2019-09-09.09:59:14.831>
    actor = 'levkivskyi'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Library (Lib)']
    creation = <Date 2019-08-13.09:36:43.877>
    creator = 'netbnd'
    dependencies = []
    files = ['48539', '48552', '48562']
    hgrepos = []
    issue_num = 37835
    keywords = []
    message_count = 8.0
    messages = ['349535', '349958', '349986', '349988', '350468', '350982', '351282', '351398']
    nosy_count = 2.0
    nosy_names = ['levkivskyi', 'netbnd']
    pr_nums = []
    priority = 'normal'
    resolution = None
    stage = None
    status = 'open'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue37835'
    versions = ['Python 3.6', 'Python 3.7']
    

    Langage dominant
    Python
    Étoiles
    77.2k
    Forks
    36k
    Merge moyen
    1 j 9 h
    PR mergées (30 j)
    558

    Guide de contribution

    Ouvrir le guide de contribution

    Par où commencer

    1. Lisez l'issue en entier, puis le guide de contribution du projet.
    2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
    3. Forkez le dépôt et travaillez sur une branche.
    4. Ouvrez une pull request qui référence le numéro de l'issue.

    Autres issues de python/cpython

    Toutes les issues de python/cpython

    Issues similaires

    Plus d'issues Python

    Recevez les nouvelles issues par e-mail

    Un résumé court des issues GitHub adaptées aux débutants.