Specialize syntax error for non-`case` statement inside `match` statement
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Feature or enhancement
Proposal:
Right now using a non-case statement inside a match block gives a rather opaque syntax error:
match a:
case 1:
pass
if 2:
pass
gives:
File "<python-input-0>", line 4
if 2:
^^
SyntaxError: invalid syntax
It's easy to accidentally write something like this when dedenting code too much inside a case block or when not dedenting code enough after the match block.
I propose a specialized syntax error that more clearly points out what the problem is:
SyntaxError: expected 'case' statement inside 'match' statement
PR forthcoming
cc @pablogsal @lysnikolaou
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response
Linked PRs
- gh-146583
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
Reproduisez le problème avec l’instruction match présentée et examinez la PR liée gh-146583 pour connaître l’orientation actuelle de l’implémentation. La tâche est terminée lorsqu’une instruction autre que case dans un bloc match produit le message SyntaxError spécialisé proposé au lieu de l’erreur générique de syntaxe invalide.
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é
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 25/100