python / python/mypy

Make `ignore_pos_arg_names=False` for overrides when using `--extra-checks`

Abierto
#20,446 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

feature
Lenguaje dominante
Python
Estrellas
20.6k
Forks
3.3k
Merge medio
1 d 18 h
PR fusionados (30 d)
54

Descripción

Feature

We can check positional argument names for overriding functions.

class A:
    def f(self, x: int) -> None:
        pass
    
class B(A):
    def f(self, _x: int) -> None:  # this *should* error, but doesn't currently
        pass

Pitch

Well, ignoring positional arguments is obviously not type safe. It's annoying, sure, but in my mind that's the class of checks that --extra-checks encompasses (technically correct but annoying).

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 la comprobación de sobrescrituras y el tratamiento de los nombres de argumentos posicionales cuando --extra-checks está habilitado. Confirma el comportamiento existente con el ejemplo A y B y, después, añade cobertura que demuestre que los nombres posicionales diferentes se notifican con --extra-checks y que la comprobación sigue ignorándose en los demás casos.

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
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.