Wrong self type only reported upon call if using VarArgs
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 20.6k
- Forks
- 3.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Bug Report
Mypy does not raise an error if a method accepts nothing but a vararg list, but lacks a self parameter or staticmethod decorator.
This behavior is confusing because Mypy does catch wrong self types for regular parameters.
To Reproduce
class Class:
def method(*args: int) -> int:
return sum(args)
print(Class().method(1, 2, 3))
Expected Behavior
foo.py:2: error: Self argument missing for a non-static method (or an invalid type for self) [misc]
Actual Behavior
foo.py:5: error: Invalid self argument "Class" to attribute function "method" with type "Callable[[VarArg(int)], Any]" [misc]
Found 1 error in 1 file (checked 1 source file)
Your Environment
- Mypy version used: 1.7.0
- Mypy command-line flags:
--strict - Mypy configuration options from
mypy.ini(and other config files): none - Python version used: 3.9
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
No se nombra ningún archivo fuente ni ninguna prueba. Ejecuta el reproductor proporcionado de Python 3.9 con mypy --strict y, después, rastrea la validación existente del argumento self para los métodos anotados con VarArg. Se considera terminado cuando el diagnóstico [misc] esperado se informa en la definición del método, en lugar de hacerlo únicamente cuando se llama al método.
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
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 48/100