Wrong column reported for errors in function sig type comments
Abierto
Nadie ha tomado este issue todavía.
bug
priority-2-low
topic-error-reporting
topic-usability
- Lenguaje dominante
- Python
- Estrellas
- 20.6k
- Forks
- 3.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
For the following code
def extract_commit_hash(line): # type: (str) -> Optional[str]
...
def extract_commit_hash2(line): # type: (str) -> Optional(str)
...
mypy reports wrong columns:

mypy output:
> mypy --pretty --follow-imports skip --show-column-numbers --show-error-codes wrong-col.py
wrong-col.py:3:10: error: Name 'Optional' is not defined [name-defined]
def extract_commit_hash(line): # type: (str) -> Optional[str]
^
wrong-col.py:3:10: note: Did you forget to import it from "typing"? (Suggestion: "from typing import Optional")
wrong-col.py:6:10: error: Invalid type comment or annotation [valid-type]
def extract_commit_hash2(line): # type: (str) -> Optional(str)
^
wrong-col.py:6:10: note: Suggestion: use Optional[...] instead of Optional(...)
Found 2 errors in 1 file (checked 1 source file)
From what I found the reported column is always 10 even if the code is more indented.

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
Reproduce el informe con el ejemplo mostrado wrong-col.py y el comando de mypy usando --show-column-numbers. Rastrea cómo calculan su columna los diagnósticos para los comentarios de tipo de las firmas de funciones y, después, verifica que los errores en funciones con distinta indentación señalen la ubicación relevante del código fuente en lugar de una columna fija.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100