Improve message if user forgot to call a function
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
Forgetting to call a method, i.e. missing (), is a somewhat common programming error. Mypy will typically catch this error, but often error messages includes something like "Callable[...]" has no attribute "foo". Since the callable type may be pretty complicated, this can look confusing.
Here are a few ideas that could make this better:
- Only say
Callable object has no attribute "foo"(omit the full callable type). - Add a note such as
Did you mean ".foo()" (with parentheses)?(needs wordsmithing). - In addition to (1), show the signature of the function in a separate note pretty-printed using function definition syntax such as
def foo() -> List[X].
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 ni prueba. Empieza por localizar la ruta de diagnóstico de mypy para un objeto Callable del que se informa que carece de un atributo y, después, compara las opciones propuestas de redacción y de nota de signatura. Se considera hecho cuando el tipo Callable confuso se presenta con mayor claridad y la cobertura de regresión verifica la indicación sobre los paréntesis que faltan.
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
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100