super(type, cls).__new__ saying not an instance when it is
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
When upgrading to the latest mypy I started getting a weird new error. Here's a simplified example:
class X:
def __new__(cls) -> "X":
return super(type, cls).__new__(cls) # error: Argument 2 for "super" not an instance of argument 1
However:
>>> isinstance(X, type)
True
My settings: mypy 0.730
[mypy]
python_version=3.6
incremental=True
ignore_missing_imports=True
follow_imports=normal
warn_redundant_casts=True
warn_unused_ignores=True
strict_optional=True
no_implicit_optional=True
disallow_untyped_defs=True
disallow_any_generics=True
(Note: I'm using super to skip an inherited __new__ when I create the object.)
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 l’exemple minimal X.new avec mypy 0.730 et examinez comment le vérificateur traite super(type, cls) et l’appel à new. Aucun fichier source ni test n’est nommé dans le rapport ; le travail est considéré comme terminé lorsque l’exemple valide ne produit plus l’instance-type error et que cette régression est couverte par des tests.
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
- 35/100