nonsensical TypeError from "-X jit -m compile --static"
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con cinder_typed_prim_bug.py y reproduce el fallo usando el comando de Docker con -X jit -m compiler --static. Rastrea la ruta del compilador desde compiler/main.py para las llamadas que usan primitivas static.double y compárala con el comando que funciona. Se considera completado cuando el ejemplo se ejecuta correctamente e imprime el resultado esperado sin el TypeError.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
good (no options):
$ docker run -v $PWD:/vol -it --rm ghcr.io/facebookincubator/cinder-runtime:cinder-3.8 vol/cinder_typed_prim_bug.py
done 0.57
bad (-X jit -m compile --static):
$ docker run -v $PWD:/vol -it --rm ghcr.io/facebookincubator/cinder-runtime:cinder-3.8 -X jit -m compiler --static vol/cinder_typed_prim_bug.py
Traceback (most recent call last):
File "/cinder/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/cinder/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/cinder/lib/python3.8/compiler/__main__.py", line 122, in <module>
exec(codeobj, d, d)
File "vol/cinder_typed_prim_bug.py", line 15, in __main__
main()
File "vol/cinder_typed_prim_bug.py", line 10, in main
c += foo(.4, .97)
TypeError: unsupported operand type(s) for +=: 'float' and 'function'
The compiler is acting as if the written code were c += foo rather than c += foo(.4, .97).
The problem goes away by removing -X jit, --static, or use of the double primitives.
cinder_typed_prim_bug.py
from __static__ import double
def foo(a: double, b: double) -> double:
return b - a
def main():
c = 0.
c += foo(.4, .97)
print('done', c)
if __name__ == '__main__':
main()
seen in cinder-3.8.6c2de94
- Lenguaje dominante
- Python
- Estrellas
- 3.8k
- Forks
- 139
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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.
Más de facebookincubator/MetaPython
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
facebookincubator/MetaPython#147 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
facebookincubator/MetaPython#146 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
facebookincubator/MetaPython#145 · 4 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
facebookincubator/MetaPython#144 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
facebookincubator/MetaPython#129 · 2 comentarios ·
Todos los issues de facebookincubator/MetaPython
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
use-agent-os/agent-os#3314 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
BasedHardware/omi#15662 · 1 comentario ·
-
documentation help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
AiursoftWeb/AnduinOS-2#19 ·