GenericLinearAlgebra overwrites methods from GenericSchur and GenericSVD

I’m working on a project that uses both GenericLinearAlgebra (dependency of ConvexHull) and GenericSVD and GenericSchur (dependencies of CSVFiles). When I load my project, I get a lot of long warnings about GenericLinearAlgebra overwriting methods and incremental compilation being broken:

WARNING: Method definition schur!(Union{DenseArray{T, 2}, Base.ReinterpretArray{T, 2, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.ReshapedArray{T, 2, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.SubArray{T, 2, A, I, L} where L where I<:Tuple{Vararg{Union{Int64, Base.AbstractRange{Int64}, Base.AbstractCartesianIndex{N} where N}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.ReshapedArray{T, N, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, DenseArray{T, N} where N where T}} where T) in module GenericSchur at /Users/pearl/.julia/packages/GenericSchur/aY6R4/src/GenericSchur.jl:12 overwritten in module GenericLinearAlgebra at /Users/pearl/.julia/packages/GenericLinearAlgebra/l4g5a/src/eigenGeneral.jl:172.
** incremental compilation may be fatally broken for this module **

WARNING: Method definition #schur!(Any, typeof(LinearAlgebra.schur!), Union{DenseArray{T, 2}, Base.ReinterpretArray{T, 2, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.ReshapedArray{T, 2, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.SubArray{T, 2, A, I, L} where L where I<:Tuple{Vararg{Union{Int64, Base.AbstractRange{Int64}, Base.AbstractCartesianIndex{N} where N}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.ReshapedArray{T, N, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, DenseArray{T, N} where N where T}} where T) in module GenericSchur overwritten in module GenericLinearAlgebra.
** incremental compilation may be fatally broken for this module **

WARNING: Method definition #eigvals!(Any, typeof(LinearAlgebra.eigvals!), Union{DenseArray{T, 2}, Base.ReinterpretArray{T, 2, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.ReshapedArray{T, 2, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.SubArray{T, 2, A, I, L} where L where I<:Tuple{Vararg{Union{Int64, Base.AbstractRange{Int64}, Base.AbstractCartesianIndex{N} where N}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.ReshapedArray{T, N, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, DenseArray{T, N} where N where T}} where T) in module GenericSchur overwritten in module GenericLinearAlgebra.
** incremental compilation may be fatally broken for this module **

WARNING: Method definition reflectorApply!(Union{DenseArray{T, 2}, Base.ReinterpretArray{T, 2, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.ReshapedArray{T, 2, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.SubArray{T, 2, A, I, L} where L where I<:Tuple{Vararg{Union{Int64, Base.AbstractRange{Int64}, Base.AbstractCartesianIndex{N} where N}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.ReshapedArray{T, N, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, DenseArray{T, N} where N where T}} where T, AbstractArray{T, 1} where T, Number) in module GenericSVD at /Users/pearl/.julia/packages/GenericSVD/w8oZE/src/utils.jl:5 overwritten in module GenericLinearAlgebra at /Users/pearl/.julia/packages/GenericLinearAlgebra/l4g5a/src/qr.jl:18.
** incremental compilation may be fatally broken for this module **

WARNING: Method definition eigvals!(Union{DenseArray{T, 2}, Base.ReinterpretArray{T, 2, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.ReshapedArray{T, 2, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.SubArray{T, 2, A, I, L} where L where I<:Tuple{Vararg{Union{Int64, Base.AbstractRange{Int64}, Base.AbstractCartesianIndex{N} where N}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.ReshapedArray{T, N, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, DenseArray{T, N} where N where T}} where T) in module GenericSchur at /Users/pearl/.julia/packages/GenericSchur/aY6R4/src/GenericSchur.jl:15 overwritten in module GenericLinearAlgebra at /Users/pearl/.julia/packages/GenericLinearAlgebra/l4g5a/src/eigenGeneral.jl:257.
** incremental compilation may be fatally broken for this module **

WARNING: Method definition hessenberg!(Union{DenseArray{T, 2}, Base.ReinterpretArray{T, 2, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.ReshapedArray{T, 2, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T}, Base.SubArray{T, 2, A, I, L} where L where I<:Tuple{Vararg{Union{Int64, Base.AbstractRange{Int64}, Base.AbstractCartesianIndex{N} where N}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.ReshapedArray{T, N, A, MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64}, N} where N} where A<:Union{Base.ReinterpretArray{T, N, S, A} where S where A<:Union{Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, Base.SubArray{T, N, A, I, true} where I<:Union{Tuple{Vararg{Real, N} where N}, Tuple{Base.AbstractUnitRange{T} where T, Vararg{Any, N} where N}} where A<:(DenseArray{T, N} where N where T) where N where T, DenseArray{T, N} where N where T} where N where T, DenseArray{T, N} where N where T}} where T) in module GenericSchur at /Users/pearl/.julia/packages/GenericSchur/aY6R4/src/hessenberg.jl:44 overwritten in module GenericLinearAlgebra at /Users/pearl/.julia/packages/GenericLinearAlgebra/l4g5a/src/eigenGeneral.jl:58.
** incremental compilation may be fatally broken for this module **

WARNING: Method definition lmul!(LinearAlgebra.Givens{T} where T, Nothing) in module GenericSVD at /Users/pearl/.julia/packages/GenericSVD/w8oZE/src/utils.jl:28 overwritten in module GenericLinearAlgebra at /Users/pearl/.julia/packages/GenericLinearAlgebra/l4g5a/src/svd.jl:5.
** incremental compilation may be fatally broken for this module **

WARNING: Method definition rmul!(Nothing, LinearAlgebra.Givens{T} where T) in module GenericSVD at /Users/pearl/.julia/packages/GenericSVD/w8oZE/src/utils.jl:34 overwritten in module GenericLinearAlgebra at /Users/pearl/.julia/packages/GenericLinearAlgebra/l4g5a/src/svd.jl:6.
** incremental compilation may be fatally broken for this module **

My question is: as a user of these three packages, should I be concerned about these warnings, and if so, is there anything I should do? I’m using GenericLinearAlgebra v0.2.1, GenericSchur v0.3.0, and GenericSVD v0.2.2.

Short answer: the risk of trouble should be negligible unless you are using extended-precision floating point arrays (or perhaps quaternions).

However the collision is a real issue; it brings up several points which I’ll try to address later.

1 Like