python / python/mypy

Documentation: type[BaseClass] accepting subclasses

Abierto
#20,213 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug topic-mypyc
Lenguaje dominante
Python
Estrellas
20.6k
Forks
3.3k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

Documentation

class BaseClass: pass
class Child1(BaseClass): pass

list[type[BaseClass]] = [BaseClass, Child1]
  • MyPy strict has not issues
  • MyPyC compiled fine
  • But running with MyPyc raises a TypeError: BaseClass expected; got Child1

A. Is there a documentation for this case? or is it an issue?

B. What is the solution for this? Can MyPyC read typing.cast to disable this strict mode?
like [BaseClass, typing.cast(BaseClass, Child1)] ?

C. I saw some TypeVar(bound='') solution but didn't work here.

D. Or do I need to just set as typing.Any to avoid issues?


  • Python 3.14
  • MyPy: 1.18.2

Thanks in advance

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con el reproductor de Python del issue y compara su comportamiento con MyPy y MyPyC. Determina si el rechazo de la subclase es esperado, un error o una laguna en la documentación, y deja clara la solución compatible, incluido si typing.cast o Any es apropiado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
compilers, devtools
Tipo de issue
Documentación
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.