python / python/mypy

reveal_locals() doesn't show module globals that are annotated

Ouverte
#12,478 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug topic-reveal-type
Langage dominant
Python
Étoiles
20.6k
Forks
3.3k
Métriques de merge des PR
Métriques de PR en attente

Description

Bug Report

reveal_locals() doesn't show module globals that are annotated with type information.

To Reproduce

from typing import List

global_var = [1, 2, 3]
global_var_annotated: List[int] = [1, 2, 3]
reveal_locals()

def foo():
    local_var = [1, 2, 3]
    local_var_annotated: List[int] = [1, 2, 3]
    reveal_locals()

Expected Behavior

A note on the global_var_annotated variable:

note:     global_var_annotated: builtins.list[builtins.int]

Actual Behavior

global_var_annotated is missing from the revealed types:

note: Revealed local types are:
note:     global_var: builtins.list[builtins.int*]
note: Revealed local types are:
note:     local_var: Any
note:     local_var_annotated: builtins.list[builtins.int]

Your Environment

  • mypy 0.931
  • Python 3.7.7

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.

Piste de recherche

Commencez par exécuter la reproduction Python fournie avec mypy et inspectez la gestion de reveal_locals() pour les variables globales annotées au niveau du module. Comparez sa sortie avec la note attendue pour global_var_annotated ; c’est terminé lorsque les variables globales de module annotées sont incluses sans régression de la sortie existante pour les variables locales et les variables globales non annotées.

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

Évaluation

Stack technique
python
Domaine
devtools
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

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