Mark classes as not instantiable
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 1.8k
- Forks
- 302
- Merge medio
- 23 h
- PR fusionados (30 d)
- 8
Descripción
From python/typeshed#14558: Some classes (like re.Pattern) are not instantiable at runtime:
>>> import re
>>> re.Pattern()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot create 're.Pattern' instances
Currently, there is no working way to mark classes as such. Ideas to mark classes:
- Annotate the return type of
__new__asNoReturn/Never. - Set
__new__toNone(similar to how__hash__works). - A new decorator.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el ejemplo en tiempo de ejecución del issue y la referencia de typeshed enlazada, python/typeshed#14558. Compara las anotaciones propuestas de new, establecer new en None y un decorador con el comportamiento existente de typing. Se considerará terminado cuando el proyecto haya acordado una forma de expresar que una clase no puede instanciarse y haya definido la semántica esperada para ello.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100