--disallow-untyped-calls allows calling values with Any type
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
The calls to f and ff below aren't rejected when using --disallow-untyped-calls, even though I believe that they should be:
from typing import Any
from non_existent import f # type: ignore # Not in the build
def g(): pass
def h() -> None:
g(asdf=1) # Error: Call to untyped function "g" in typed context
f(asdf=1) # No error reported, but this is untyped
ff: Any
ff() # No error reported, and again this in untyped
At the very least the first call should probably be caught. If non_existent gets added in the build with no type annotations, it would start generating errors. However, I'd expect that adding a module to the build should result in fewer Any-related errors, not more.
Marking this a high priority since I've been bit by this twice in production code.
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
Reproduire l’exemple Python de l’issue avec --disallow-untyped-calls, puis suivre la manière dont sont vérifiés les appels passant par des valeurs importées et des valeurs explicitement typées Any. C’est terminé lorsque les appels à f et ff sont rejetés sans modifier le diagnostic existant pour g ; le payload n’indique aucun fichier source ni aucun test par lequel commencer.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- compilers, devtools
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 39/100