-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ambiguities in Base functions introduced by FillArrays #105
Comments
Will merge a PR to fix this. |
The ambiguity list seems to have evolved with 1.5: julia> Test.detect_ambiguities(Base, Core)
44-element Array{Tuple{Method,Method},1}:
(*(adjA::LinearAlgebra.Adjoint{var"#s826",var"#s825"} where var"#s825"<:(Union{LinearAlgebra.Hermitian{T,S}, LinearAlgebra.Hermitian{Complex{T},S}, LinearAlgebra.Symmetric{T,S}} where S where T<:Real) where var"#s826", B::AbstractArray{T,2} where T) in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/symmetric.jl:603, *(a::AbstractArray{T,2} where T, b::Zeros{var"#s15",2,Axes} where Axes where var"#s15") in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:81)
(getindex(x::SparseArrays.AbstractSparseArray{Tv,Ti,1} where Ti where Tv, I::AbstractArray{Bool,N} where N) in SparseArrays at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/SparseArrays/src/sparsevector.jl:816, getindex(x::AbstractArray{T,N}, mask::Ones{Bool,N,Tuple{Vararg{Base.OneTo{Int64},N}}}) where {T, N} in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/trues.jl:39)
(*(u::LinearAlgebra.Transpose{T,var"#s826"} where var"#s826"<:(AbstractArray{T,1} where T), v::AbstractArray{T,1}) where T<:Real in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/adjtrans.jl:284, *(a::AbstractArray{T,2} where T, b::Zeros{var"#s15",1,Axes} where Axes where var"#s15") in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:80)
(*(a::AbstractArray{T,1} where T, transB::LinearAlgebra.Transpose{var"#s826",var"#s825"} where var"#s825"<:(AbstractArray{T,2} where T) where var"#s826") in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/matmul.jl:55, *(a::Zeros{var"#s15",1,Axes} where Axes where var"#s15", b::AbstractArray{T,2} where T) in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:78)
(*(transA::LinearAlgebra.Transpose{var"#s826",var"#s825"} where var"#s825"<:AbstractArray{T,2} where var"#s826", x::AbstractArray{S,1}) where {T, S} in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/matmul.jl:89, *(a::AbstractArray{T,2} where T, b::Zeros{var"#s15",1,Axes} where Axes where var"#s15") in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:80)
(getindex(A::SparseArrays.AbstractSparseMatrixCSC, I::AbstractArray{Bool,N} where N) in SparseArrays at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/SparseArrays/src/sparsevector.jl:583, getindex(x::AbstractArray{T,N}, mask::Ones{Bool,N,Tuple{Vararg{Base.OneTo{Int64},N}}}) where {T, N} in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/trues.jl:39)
(*(transA::LinearAlgebra.Transpose{var"#s824",var"#s823"} where var"#s823"<:LinearAlgebra.AbstractTriangular where var"#s824", B::AbstractArray{T,2} where T) in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/triangular.jl:2013, *(a::AbstractArray{T,2} where T, b::Zeros{var"#s15",2,Axes} where Axes where var"#s15") in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:81)
(*(A::AbstractArray{T,2} where T, adjB::LinearAlgebra.Adjoint{var"#s826",var"#s825"} where var"#s825"<:LinearAlgebra.AbstractTriangular where var"#s826") in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/triangular.jl:2136, *(a::Zeros{var"#s15",2,Axes} where Axes where var"#s15", b::AbstractArray{T,2} where T) in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:79)
(convert(::Type{Fill}, arr::AbstractArray{T,N} where N) where T in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/FillArrays.jl:151, convert(::Type{T}, F::T) where T<:Fill in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/FillArrays.jl:155)
(*(adjA::LinearAlgebra.Adjoint{var"#s826",var"#s825"} where var"#s825"<:LinearAlgebra.AbstractTriangular where var"#s826", B::AbstractArray{T,1} where T) in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/triangular.jl:2005, *(a::AbstractArray{T,2} where T, b::Zeros{var"#s15",1,Axes} where Axes where var"#s15") in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:80)
⋮
(*(transA::LinearAlgebra.Transpose{var"#s826",var"#s825"} where var"#s825"<:(Union{LinearAlgebra.Hermitian{T,S}, LinearAlgebra.Symmetric{T,S}, LinearAlgebra.Symmetric{Complex{T},S}} where S where T<:Real) where var"#s826", B::AbstractArray{T,1} where T) in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/symmetric.jl:598, *(a::LinearAlgebra.Transpose{T,var"#s15"} where var"#s15"<:AbstractArray{T,2}, b::Zeros{T,1,Axes} where Axes) where T<:Real in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:139)
(getindex(x::SparseArrays.AbstractSparseArray{Tv,Ti,1}, I::AbstractArray{T,1} where T) where {Tv, Ti} in SparseArrays at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/SparseArrays/src/sparsevector.jl:817, getindex(x::AbstractArray{T,N}, mask::Ones{Bool,N,Tuple{Vararg{Base.OneTo{Int64},N}}}) where {T, N} in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/trues.jl:39)
(getindex(x::SparseArrays.AbstractSparseArray{Tv,Ti,1} where Ti where Tv, I::AbstractArray{Bool,1}) in SparseArrays at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/SparseArrays/src/sparsevector.jl:815, getindex(x::AbstractArray{T,N}, mask::Ones{Bool,N,Tuple{Vararg{Base.OneTo{Int64},N}}}) where {T, N} in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/trues.jl:39)
(*(A::AbstractArray{T,2} where T, transB::LinearAlgebra.Transpose{var"#s826",var"#s825"} where var"#s825"<:(Union{LinearAlgebra.Hermitian{T,S}, LinearAlgebra.Symmetric{T,S}, LinearAlgebra.Symmetric{Complex{T},S}} where S where T<:Real) where var"#s826") in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/symmetric.jl:600, *(a::Zeros{var"#s15",2,Axes} where Axes where var"#s15", b::AbstractArray{T,2} where T) in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:79)
(getindex(x::SparseArrays.AbstractSparseArray{Tv,Ti,1}, I::AbstractArray) where {Tv, Ti} in SparseArrays at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/SparseArrays/src/sparsevector.jl:823, getindex(x::AbstractArray{T,N}, mask::Ones{Bool,N,Tuple{Vararg{Base.OneTo{Int64},N}}}) where {T, N} in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/trues.jl:39)
(*(transA::LinearAlgebra.Transpose{var"#s824",var"#s823"} where var"#s823"<:LinearAlgebra.AbstractTriangular where var"#s824", B::AbstractArray{T,1} where T) in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/triangular.jl:2013, *(a::AbstractArray{T,2} where T, b::Zeros{var"#s15",1,Axes} where Axes where var"#s15") in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:80)
(*(u::AbstractArray{T,1} where T, v::Union{LinearAlgebra.Adjoint{T,var"#s826"}, LinearAlgebra.Transpose{T,var"#s826"}} where var"#s826"<:(AbstractArray{T,1} where T) where T) in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/adjtrans.jl:289, *(a::Zeros{var"#s15",1,Axes} where Axes where var"#s15", b::AbstractArray{T,2} where T) in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:78)
(*(A::LinearAlgebra.AbstractTriangular, B::AbstractArray{T,1} where T) in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/triangular.jl:1998, *(a::AbstractArray{T,2} where T, b::Zeros{var"#s15",1,Axes} where Axes where var"#s15") in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:80)
(*(A::AbstractArray{T,2} where T, transB::LinearAlgebra.Transpose{var"#s826",var"#s825"} where var"#s825"<:LinearAlgebra.AbstractTriangular where var"#s826") in LinearAlgebra at /home/mbesancon/programs/julia-15/share/julia/stdlib/v1.5/LinearAlgebra/src/triangular.jl:2144, *(a::Zeros{var"#s15",2,Axes} where Axes where var"#s15", b::AbstractArray{T,2} where T) in FillArrays at /home/mbesancon/.julia/packages/FillArrays/gPRiS/src/fillalgebra.jl:79) |
Again: I’ll merge a PR that fixes this |
sorry didn't mean to sound pushy, it was to update the status of the issue if someone sees something |
Closed
Small update. Current ambiguities with Julia 1.9.0-rc2: julia> Test.detect_ambiguities(Base, Core)
4-element Vector{Tuple{Method, Method}}:
(reshape(parent::FillArrays.AbstractFill, dims::Union{Colon, Integer}...) @ FillArrays ~/.julia/packages/FillArrays/yjfkJ/src/FillArrays.jl:252, reshape(parent::AbstractVector, ::Colon) @ Base reshapedarray.jl:115)
(reshape(parent::FillArrays.AbstractFill, dims::Tuple{Vararg{Union{Colon, Integer}}}) @ FillArrays ~/.julia/packages/FillArrays/yjfkJ/src/FillArrays.jl:254, reshape(parent::AbstractVector, ::Tuple{Colon}) @ Base reshapedarray.jl:116)
(reshape(parent::FillArrays.AbstractFill, dims::Union{Colon, Int64}...) @ FillArrays ~/.julia/packages/FillArrays/yjfkJ/src/FillArrays.jl:251, reshape(parent::AbstractVector, ::Colon) @ Base reshapedarray.jl:115)
(reshape(parent::FillArrays.AbstractFill, dims::Tuple{Vararg{Union{Colon, Int64}}}) @ FillArrays ~/.julia/packages/FillArrays/yjfkJ/src/FillArrays.jl:256, reshape(parent::AbstractVector, ::Tuple{Colon}) @ Base reshapedarray.jl:116) |
Aqua currently lists 48 ambiguities. I plan to make PRs fixing them. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In a fresh Julia session
As a consequence something like this doesn't work:
The text was updated successfully, but these errors were encountered: