str.fomat index_string too restricted
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
Bug Report
The following code is flagged by mypy-0.800:
"{0[k-y]}".format({"k-y": "val"})
The error is
Invalid index expression in format field accessor "[k-y]"
According to Python Format String Syntax:
replacement_field ::= "{" [field_name] …
field_name ::= arg_name ( … | "[" element_index "]")*
element_index ::= … | index_string
index_string ::= <any source character except "]"> +
the - should be okay. Similar when using + or /. Looks like only [0-9A-Z_a-z] are allowed with mypy.
To Reproduce
mypy -c '"{0[k-y]}".format({"k-y": ""})'
<string>:1: error: Invalid index expression in format field accessor "[k-y]"
Expected Behavior
No error should be detected.
Actual Behavior
mypy prints an error.
Your Environment
Debian-10-Buster with self-built mypy-0.800
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 rapport avec la commande mypy fournie, puis suivez la validation des index de chaîne de format qui rejette [k-y]. La tâche est terminée lorsque la commande accepte des clés de chaîne contenant -, + ou / sans générer d’erreur, avec une couverture de régression pour le cas signalé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- tooling
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 48/100