python / python/mypy

`in` operator error with Generator

Ouverte
#21,601 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug
Langage dominant
Python
Étoiles
20.6k
Forks
3.3k
Métriques de merge des PR
Métriques de PR en attente

Description

Bug Report
https://mypy-play.net/?mypy=latest&python=3.12&gist=790ec23819f191c250a9574f2b123d8d

To Reproduce

1 in (i for i in (signal.SIGINT,))

Expected Behavior
No error

Actual Behavior
error: Unsupported operand types for in ("int" and "Generator[Signals, None, None]") [operator]

If the generator is changed to a list comprehension, there is no error

Your Environment

  • Mypy version used: 2.1.0 and master branch
  • Python version used: 3.12

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par exécuter la reproduction mypy-play de l’issue avec Python 3.12, puis suivez la manière dont mypy vérifie l’opérateur in lorsque le membre de droite est un générateur. Ajoutez un test de régression couvrant l’expression signal.SIGINT présentée ; c’est terminé lorsqu’elle ne produit aucune erreur d’opérande non pris en charge et que le comportement existant de la compréhension de liste reste inchangé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
compilers
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
58/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.