False positive with disallow-any-explicit and `...` in `Callable` in bound of type var
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 20.6k
- Forks
- 3.3k
- Merge moyen
- 1 j 18 h
- PR mergées (30 j)
- 54
Description
I want a generic function type, but I don't want to get spurious Any errors on every usage.
from typing import Callable, TypeVar
Fn = TypeVar("Fn", bound=Callable[..., object])
mypy --disallow-any-explicit .
error: Explicit "Any" is not allowed
Fn = TypeVar("Fn", bound=Callable[..., object])
^
I understand that this is actually usable as unsafe Any garbage:
def foo(fn: Fn) -> Fn: # type safe usage
fn(1) # not type safe usage
So this should be the only place where the error appears.
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 reproduire le problème avec mypy --disallow-any-explicit sur l’exemple montré TypeVar("Fn", bound=Callable[..., object]), puis suivez la manière dont les diagnostics concernant Any explicite traitent ... dans une contrainte Callable. Le travail est terminé lorsque la contrainte est signalée comme le cas intentionnel d’Any non sûr, sans produire d’erreurs parasites à chaque utilisation de Fn.
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é
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 48/100