Inheriting class with __slots__ defined
Abierto
Nadie ha tomado este issue todavía.
feature
priority-2-low
- Lenguaje dominante
- Python
- Estrellas
- 20.6k
- Forks
- 3.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
- Are you reporting a bug, or opening a feature request?
Feature request
- Please insert below the code you are checking with mypy.
class Base():
__slots__: List[str] = ['foo', 'bar']
if TYPE_CHECKING:
foo: int
bar: int
class Derived(Base):
__slots__: List[str] = ['bar']
- What is the actual behavior/output?
Success: no issues found in 1 source file
- What is the behavior/output you expect?
I believe it would be nice if mypy generated an error on __slots__ declaration in Derived class because 'bar' slot was already declared in Base class.
- What are the versions of mypy and Python you are using?
Python 3.8.0, mypy 0.761
Guía de contribución
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 reproduciendo con mypy el ejemplo proporcionado de Base y Derived con slots. Sigue cómo maneja el comprobador de tipos slots entre clases heredadas y, después, verifica que un slot heredado duplicado produzca un diagnóstico, mientras que las declaraciones de slots válidas sigan siendo aceptadas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- compilers
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100