Evaluation into the closed module `Calculus` breaks incremental compilation...
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 28/100
Línea de trabajo
Comienza en src/symbolic.jl, línea 96, e investiga el eval path detrás del comportamiento de compilación incremental de Julia 1.4-to-1.5. Como no se proporciona ningún MWE, primero reduce el caso reportado de la expresión generada por macro; compara la evaluación propuesta en Main con las pruebas existentes y considera resuelto el issue cuando la regresión sea reproducible, esté corregida y la suite de pruebas siga pasando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I have a complex code that broke when I switched from Julia 1.4 to Julia 1.5. The breakage seems to be intertwined with the Calculus package. I have tried but failed to produce an MWE (sorry about that). The context is that my complex code is doing some code generation in a macro and then calling Calculus.simplify(ex) on some generated expressions. The error I get when running my complex code is
Evaluation into the closed module `Calculus` breaks incremental compilation because the side effects will not be permanent. This is likely due to some other module mutating `Calculus` with `eval` during precompilation - don't do this.
The stack trace leads me to this line. It seems like the eval is the source of the problem. Would there be any harm in evaling in Main rather than Calculus itself? Switching that line to
return (@static (VERSION < v"0.7.0-DEV.5149") ? eval : Core.eval)(Main, ex)
solves my problem and all the tests still pass. I'd be happy to submit a pull request, but not sure if that solution would be accepted.
- Lenguaje dominante
- Julia
- Estrellas
- 285
- Forks
- 78
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 JuliaMath/Calculus.jl
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 44/100
JuliaMath/Calculus.jl#157 · 1 comentario ·
-
This package is deprecated?Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 45/100
JuliaMath/Calculus.jl#153 · 2 comentarios · 5 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
JuliaMath/Calculus.jl#150 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
JuliaMath/Calculus.jl#144 ·
-
Prime notation not workingAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
JuliaMath/Calculus.jl#143 · 2 comentarios · 6 reacciones ·
Todos los issues de JuliaMath/Calculus.jl
Issues similares
-
`enzymexla.linalg.lu` lowering fails for a tall matrix: the permutation is built with the pivot typeAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
EnzymeAD/Enzyme-JAX#3286 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
SciML/LinearSolve.jl#1359 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
EnzymeAD/ReactantNitro.jl#13 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día