JuliaSIMD / JuliaSIMD/LoopVectorization.jl
`@turbo` slightly broken on 1.12
- 主要言語
- Julia
- スター
- 789
- フォーク
- 73
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、提供された @turbo の例を Julia nightly で再現し、次に src/constructors.jl の 70 行目付近にある substitute_broadcast と、295 行目および 404 行目付近のマクロパスを調査してください。例が正常に評価され、Julia pull request 56746 の後に導入された GlobalRef 型アサーションエラーを発生させなければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- julia
- 領域
- performance
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 45/100