Specialized subscript guards should require non-negative compact ints
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
The specialized int subscript fast paths currently assume a non-negative compact int, but that precondition is not expressed directly in the guard.
Make the guard explicit for the affected cases:
list[i]tuple[i]str[i]list[i] = value
This aligns the guard with the existing specialization contract and removes redundant checks from the specialized bodies, without changing the fallback path for negative indices.
Linked PRs
- gh-153487
- gh-153523
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 localiser les fast paths spécialisées de subscript int pour list[i], tuple[i], str[i] et list[i] = value. Vérifiez comment leurs guards expriment la précondition de compact-int et comment les indices négatifs atteignent la fallback path. Le travail est terminé lorsque les guards exigent des compact ints non négatifs, que les vérifications redondantes du specialized body sont supprimées et que le comportement des indices négatifs est inchangé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- compilers, performance
- Type d'issue
- Refactorisation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 25/100