Remove some unnecessary methods that cause invalidations
backport 1.13
- A `axes(::AbstractQ)` already exists in LinearAlgebra that does the same thing.
- Julia already has a generic `Base.size(x, dim)` method that uses `Base.size(x)`.
Should fix these invalidations seen when loading CUDA.jl on 1.13:
```julia
inserting size(FC::SparseArrays.CHOLMOD.FactorComponent, i::Integer) @ SparseArrays.CHOLMOD ~/.julia/juliaup/julia-1.13.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.13/SparseArrays/src/solvers/cholmod.jl:1363 invalidated:
backedges: 1: superseding size(t::AbstractArray, dim) @ Base abstractarray.jl:42 with MethodInstance for size(::AbstractVecOrMat, ::Int64) (9 children)
2: superseding size(t::AbstractArray, dim) @ Base abstractarray.jl:42 with MethodInstance for size(::AbstractMatrix, ::Int64) (21 children)
3: superseding size(t::AbstractArray, dim) @ Base abstractarray.jl:42 with MethodInstance for size(::AbstractArray, ::Int64) (21 children)
inserting axes(Q::SparseArrays.SPQR.QRSparseQ) @ SparseArrays.SPQR ~/.julia/juliaup/julia-1.13.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.13/SparseArrays/src/solvers/spqr.jl:143 invalidated:
backedges: 1: superseding axes(Q::LinearAlgebra.AbstractQ) @ LinearAlgebra ~/.julia/juliaup/julia-1.13.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.13/LinearAlgebra/src/abstractq.jl:78 with MethodInstance for axes(::LinearAlgebra.AbstractQ) (81 children)
1 mt_cache
```
Could we backport this to 1.13?
合并状态:未合并 关闭于 2026-04-17 4 条评论