Skip to content

@turbo slightly broken on 1.12 #540

@oscardssmith

Description

@oscardssmith

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 JuliaLang/julia#56746

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions