python / python/mypy

Deal better with "def __init__(self)" return type

Abierto
#7,291 3 comentarios 12 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

needs discussion priority-1-normal topic-usability
Lenguaje dominante
Python
Estrellas
20.6k
Forks
3.3k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

If untyped defs are disallowed, mypy requires that def __init__(self): has an explicit -> None return type, even though normally the return type is optional for __init__. This can be surprising, so it would be better for mypy to produce a special note in this case about why the return type is required even for __init__.

Another idea would be to drop the error message if using --check-untyped-defs, since the explicit return type arguably doesn't add much value.

See #5943 for context.

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

Empieza rastreando cómo mypy informa del tipo de retorno ausente para los métodos init sin tipar y cómo afecta --check-untyped-defs a ese diagnóstico. Resuelve si el comportamiento previsto consiste en una nota explicativa especial o en suprimir el error, y verifica después el comportamiento elegido con cobertura de regresión.

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

Evaluación

Stack tecnológico
python
Área
devtools
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.