JuliaLang / AllocCheck.jl

AllocCheck
Other
215 stars 8 forks source link

Allocation types are sometimes bad on Julia 1.10 #10

Closed topolarity closed 10 months ago

topolarity commented 11 months ago

When using Julia 1.10 (beta3):

julia> check_allocs(*, (Matrix{Float64},Matrix{Float64}))[end]
Allocation of Any in /cache/build/default-amdci5-3/julialang/julia-release-1-dot-10/usr/share/julia/stdlib/v1.10/LinearAlgebra/src/matmul.jl:970
  | throw(DimensionMismatch(lazy"A has size $(size(A)), B has size $(size(B)), C has size $(size(C))"))

Stacktrace:
 [1] matmul2x2!(C::Matrix{Float64}, tA::Char, tB::Char, A::Matrix{Float64}, B::Matrix{Float64}, _add::LinearAlgebra.MulAddMul{true, true, Bool, Bool})
   @ LinearAlgebra ~/.julia/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/LinearAlgebra/src/matmul.jl:970
...

versus Julia master (f919e8f16c):

julia> check_allocs(*, (Matrix{Float64},Matrix{Float64}))[end]
Allocation of DimensionMismatch in /home/topolarity/repos/julia/usr/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:970
  | throw(DimensionMismatch(lazy"A has size $(size(A)), B has size $(size(B)), C has size $(size(C))"))

Stacktrace:
 [1] matmul2x2!(C::Matrix{Float64}, tA::Char, tB::Char, A::Matrix{Float64}, B::Matrix{Float64}, _add::LinearAlgebra.MulAddMul{true, true, Bool, Bool})
   @ LinearAlgebra ~/repos/julia/usr/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:970
   ...