JuliaSIMD / JuliaSIMD/LoopVectorization.jl

`@turbo` slightly broken on 1.12

Abierto
#540 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Julia
Estrellas
789
Forks
73
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

on nightly, the following code
```
using LoopVectorization
function f()
B = zeros(3)
@turbo B .+ 1
B
end
f()
```
produces
```
ERROR: LoadError: TypeError: in typeassert, expected Expr, got a value of type GlobalRef
Stacktrace:
[1] substitute_broadcast(q::Expr, mod::Symbol, inline::Bool, u₁::Int8, u₂::Int8, v::Int8, threads::Int64, warncheckarg::Int64, safe::Bool)
@ LoopVectorization ~/.julia/dev/LoopVectorization/src/constructors.jl:70
[2] turbo_macro(::Module, ::LineNumberNode, ::Expr)
@ LoopVectorization ~/.julia/dev/LoopVectorization/src/constructors.jl:295
[3] var"@turbo"(__source__::LineNumberNode, __module__::Module, args::Vararg{Any})
@ LoopVectorization ~/.julia/dev/LoopVectorization/src/constructors.jl:404
[4] include(mod::Module, _path::String)
@ Base ./Base.jl:300
[5] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:329
[6] _start()
@ Base ./client.jl:558
in expression starting at /home/oscardssmith/.julia/dev/LoopVectorization/test.jl:6
```
rather than working as expected. This seems to be a consequence of https://github.com/JuliaLang/julia/pull/56746

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza reproduciendo el ejemplo proporcionado de @turbo en Julia nightly y, después, inspecciona substitute_broadcast en src/constructors.jl cerca de la línea 70 y la ruta de la macro cerca de las líneas 295 y 404. La tarea está terminada cuando el ejemplo se evalúa correctamente en lugar de generar el error de aserción de tipo GlobalRef introducido después de Julia pull request 56746.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
julia
Área
performance
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.