support alias for `sys` when checking version_info
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
Issue kind:
Bug Report.
Env:
- mypy 0.620
- Python 3.7.2
How to reproduce
Code as following:
# t.py
import sys as py_sys
if py_sys.version_info < (3, 0):
unicode = unicode
chr = unichr
else:
unicode = str
exec mypy t.py, and use default config, it reports
t.py:5: error: Cannot determine type of 'unicode'
t.py:6: error: Name 'unichr' is not defined
But following code is ok.
# t.py
import sys
if sys.version_info < (3, 0):
unicode = unicode
chr = unichr
else:
unicode = str
Master branch(mypy-0.660+dev.d1c8f27f696012085ca904e96f8b93b92b74919e mypy-extensions-0.4.1 typed-ast-1.1.1) has the same problem.
Except:
mypy can recognize sys module alias, and handle compact code.
Actual:
If use a sys module's alias to get Python version, and write some compact code, it will check all code.
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 la reproducción en t.py y ejecuta mypy usando primero la importación directa de sys y después el alias py_sys, para comparar el manejo de version_info y los errores de unicode y unichr informados. Se considera terminado cuando mypy reconoce el módulo sys con alias y comprueba de forma coherente el código compacto dependiente de la versión.
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
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100