Should non-overlapping comparisons allowed in assertions?
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 following assertion generates an error when using --strict-equality, but perhaps it should be allowed, since an assertion can test something that should be impossible?
from typing import List
def f(x: List[int]) -> None:
assert 'foo' not in x # Error, but should this be okay?
...
I saw a few examples similar to the above in production code and had to use # type: ignore[...] with them, which didn't feel optimal.
@ilevkivskyi What do you think?
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
L’issue ne nomme aucun fichier ni test ; commencez par reproduire l’exemple avec --strict-equality et suivez la vérification de l’assertion qui signale l’erreur de comparaison. Déterminez si une assertion d’appartenance impossible doit être acceptée, puis définissez le comportement de diagnostic attendu et la couverture pour le cas List[int] présenté.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- compilers
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100