(🐞) False error with assignment of generic union of types to the same union of types
Ouverte
Personne n'a encore pris cette issue.
bug
- Langage dominant
- Python
- Étoiles
- 20.6k
- Forks
- 3.3k
- Merge moyen
- 1 j 18 h
- PR mergées (30 j)
- 54
Description
from typing import TypeVar
class A: pass
class B: pass
T_AB = TypeVar("T_AB", bound=A | B)
def foo(t: type[T_AB]) -> None:
x: type[A | B] = t # error
It works when the type is in the bound:
from typing import TypeVar
class A: pass
class B: pass
T_AB = TypeVar("T_AB", bound=type[A | B])
def foo(t: T_AB) -> None:
x: type[A | B] = t # no error
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
Commencez par exécuter les deux extraits fournis avec mypy et par comparer le diagnostic concernant l’affectation à type[A | B]. Suivez les vérifications de compatibilité impliquant la variable de type générique et l’union. Le travail est terminé lorsque le premier extrait est accepté sans erreur tandis que le deuxième exemple reste accepté.
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é
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100