mypy does not recognize tuple unpacking syntax for TypeVars.
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 20.6k
- Forks
- 3.3k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Bug Report
This is really a minor issue, but if you declare multiple TypeVar variables in one line, mypy does not seem to recognize them as type variables. For example,
from typing import TypeVar, Generic
T1, T2 = TypeVar('T1'), TypeVar('T2')
class Container(Generic[T1]):
class Item(Generic[T2]):
pass
To Reproduce
- Declare more than one TypeVars in one line. (See the example code above.)
- Run mypy check on this script.
Expected Behavior
The T1 and T2 in the example above should be recognized as type variables.
They should pass mypy check.
Actual Behavior
Errors:
$ mypy typevar.py
typevar.py:5: error: Free type variable expected in Generic[...]
typevar.py:6: error: Free type variable expected in Generic[...]
Found 2 errors in 1 file (checked 1 source file)
Your Environment
- Mypy version used: 0.910
- Mypy command-line flags: none
- Mypy configuration options from
mypy.ini(and other config files): none - Python version used: 3.10.0
- Operating system and version: Ubuntu 20.04
Guide de contribution
Ouvrir le guide de contribution
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.
Piste de recherche
Reproduisez le problème avec l’extrait Python fourni et la commande mypy typevar.py, puis suivez la manière dont les TypeVars affectés par tuple sont reconnus avant la vérification de Generic[...]. La tâche est terminée lorsque T1 et T2 sont tous deux acceptés comme variables de type et que l’exemple passe mypy sans erreur.
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
- 45/100