Provide custom error messages for overflows in PyLong_AsLong/PyLong_AsInt()
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:
Both functions have old TODO comments:
https://github.com/python/cpython/blob/453d886f8592d2f4346d5621b1e4ff31c24338d5/Objects/longobject.c#L671-L676
https://github.com/python/cpython/blob/453d886f8592d2f4346d5621b1e4ff31c24338d5/Objects/longobject.c#L688-L694
Lets either remove these marks or provide different error messages, for example for longs:
if (overflow > 0) {
PyErr_Format(PyExc_OverflowError,
"Python int too large to convert to C long, value > %ld",
LONG_MAX);
return -1;
}
else if (overflow < 0) {
PyErr_Format(PyExc_OverflowError,
"Python int too large to convert to C long, value < %ld",
LONG_MIN);
return -1;
}
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-141585
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 dans Objects/longobject.c, au niveau des commentaires TODO liés dans l’issue, et examinez la PR gh-141585 liée pour prendre connaissance du travail déjà en cours. Le travail est terminé si ces TODO sont supprimés ou si des messages d’overflow distincts sont fournis pour PyLong_AsLong() et PyLong_AsInt().
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- c, python
- Domaine
- api
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 25/100