Give better error message if type inference fails because of unsatisfiable upper bound
Abierto
Nadie ha tomado este issue todavía.
priority-1-normal
topic-type-variables
topic-usability
- Lenguaje dominante
- Python
- Estrellas
- 20.6k
- Forks
- 3.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
After #5699 in certain cases (see testWideOuterContextEmptyError) if type inference fails, mypy gives an obscure error like
Incompatible types in assignment (expression has type "List[<nothing>]", variable has type "List[str]")
This error message could be improved. Here are some ideas:
- Record that we didn't use the outer context because of unsatisfied bound and add a note about this
- (Probably better) If type variable with a bound is used in an invariant context and we can't infer a value, we currently infer
C[<nothing>]. What if we'd instead inferredC[<bound>]?
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
Comienza con el caso testWideOuterContextEmptyError mencionado en el issue e inspecciona la ruta de inferencia de tipos para una cota superior no satisfecha en un contexto invariante. Compara los enfoques de diagnóstico propuestos, añade después una prueba de regresión que muestre el mensaje de error mejorado y ejecuta la suite de pruebas relevante.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- compilers
- Tipo de issue
- Error
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100