Subclassing threading Lock/RLock: better Exception messages
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- operating-systems
Piste de recherche
Commencez par la reproduction minimale en Python présente dans l’issue et examinez l’entrée de la documentation de threading consacrée à Lock et RLock. Déterminez comment l’héritage actuellement non pris en charge est exposé, puis rendez le comportement plus clair au moyen d’un message d’erreur plus convivial et d’une documentation indiquant la limitation de l’héritage. Réexécutez les deux définitions de sous-classe pour vérifier les messages obtenus.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Bug report
Please see the below minimal repro:
from threading import Lock, RLock
class SubclassLock(Lock):
pass
class SubclassRLock(RLock):
pass
The subclass of Lock emits:
Traceback (most recent call last):
File "/path/to/file.py", line 3, in <module>
class SubclassLock(Lock):
TypeError: cannot create 'builtin_function_or_method' instances
The subclass of RLock emits:
Traceback (most recent call last):
File "/path/to/file.py", line 6, in <module>
class SubclassRLock(RLock):
TypeError: function() argument 'code' must be code, not str
Both of these messages are relatively cryptic. I think if Python doesn't support subclassing Lock/RLock, it should be documented in threading, and this error message should be more friendly/clear.
Your environment
- CPython versions tested on: 3.10.3
- Operating system and architecture: macOS Big Sur 11.5.1
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 36k
- Merge moyen
- 1 j 9 h
- PR mergées (30 j)
- 558
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.
Autres issues de python/cpython
-
docs pending
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
stdlib type-feature
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
stdlib type-feature
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
build type-bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
stdlib topic-email type-feature
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Toutes les issues de python/cpython
Issues similaires
-
link-check link-check:sphinx-theme
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
OpenHands/extensions#626 · 1 commentaire ·
-
Change observation tooltip text Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
CSCfi/sd-search-api#39 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100