diff --git a/src/diagonal.jl b/src/diagonal.jl index 287b5628..5cad3326 100644 --- a/src/diagonal.jl +++ b/src/diagonal.jl @@ -191,7 +191,7 @@ end Return the appropriate zero element `A[i, j]` corresponding to a banded matrix `A`. """ diagzero(A::AbstractMatrix, i, j) = zero(eltype(A)) -diagzero(A::AbstractMatrix{M}, i, j) where {M<:AbstractMatrix} = +@propagate_inbounds diagzero(A::AbstractMatrix{M}, i, j) where {M<:AbstractMatrix} = zeroslike(M, axes(A[i,i], 1), axes(A[j,j], 2)) diagzero(A::AbstractMatrix, inds...) = diagzero(A, to_indices(A, inds)...) # dispatching on the axes permits specializing on the axis types to return something other than an Array