Optionally flag known mypyc compatibility issues in mypy
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
Feature
Mypyc is incompatible in some ways with CPython semantics (mypyc/mypyc#973 is a recent example). Add an optional error code to mypy that detects some of these incompatible features in code even when not using mypyc. We can also explain how to work around the issues in notes, or include links to documentation.
Here are some issues we could flag:
- Overriding methods in subclasses of built-in types such as
intorstrthat mypyc can't use. - Subclassing compiled classes that don't support interpreted subclasses. This would require knowledge of which modules will be compiled.
- Monkey patching native functions or methods. This is usually flagged already by mypy, but we could perhaps detect this in additional cases, add a note about mypyc when relevant, and use a separate error code.
Pitch
Code that isn't compiled with mypyc can trigger incompatible behavior or exceptions when interacting with mypyc-compiled modules, and this is confusing. These messages would make it easier to avoid using things that may cause issues with mypyc, if part of a project is compiled with mypyc.
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 revisando el ejemplo mypyc#973 y los diagnósticos existentes de mypy para el monkey patching. Define el alcance de un código de error opcional para las sobrescrituras en subclases de tipos integrados, la creación de subclases de clases compiladas y el monkey patching pertinente, incluidas las notas o los enlaces a la documentación que correspondan. Se considera terminado cuando las incompatibilidades seleccionadas se detectan sin requerir mypyc y el comportamiento está cubierto por pruebas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- compilers
- 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