Skip to content
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

Open
jishnub opened this issue Jul 7, 2020 · 6 comments
Open

Ambiguities in Base functions introduced by FillArrays #105

jishnub opened this issue Jul 7, 2020 · 6 comments

Comments

@jishnub
Copy link
Member

jishnub commented Jul 7, 2020

In a fresh Julia session

   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.4.2 (2020-05-23)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |


julia> using Test

julia> Test.detect_ambiguities(Base, Core)
0-element Array{Tuple{Method,Method},1}

julia> using FillArrays

(@v1.4) pkg> st -m FillArrays
Status `~/.julia/environments/v1.4/Manifest.toml`
  [1a297f60] FillArrays v0.8.12
  [37e2e46d] LinearAlgebra 
  [9a3f8284] Random 
  [2f01184e] SparseArrays

julia> Test.detect_ambiguities(Base, Core)
36-element Array{Tuple{Method,Method},1}:
 (*(u::AbstractArray{T,1} where T, v::Union{LinearAlgebra.Adjoint{T,#s662}, LinearAlgebra.Transpose{T,#s662}} where #s662<:(AbstractArray{T,1} where T) where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/adjtrans.jl:253, *(a::Zeros{#s14,1,Axes} where Axes where #s14, b::AbstractArray{T,2} where T) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:89)
 (*(A::AbstractArray{T,2} where T, B::LinearAlgebra.AbstractTriangular) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/triangular.jl:2095, *(a::Zeros{#s14,2,Axes} where Axes where #s14, b::AbstractArray{T,2} where T) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:90)
 (*(a::AbstractArray{T,1} where T, adjB::LinearAlgebra.Adjoint{#s662,#s661} where #s661<:(AbstractArray{T,2} where T) where #s662) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/matmul.jl:60, *(a::Zeros{#s14,1,Axes} where Axes where #s14, b::AbstractArray{T,2} where T) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:89)
 (convert(T::Type{#s662} where #s662<:SparseArrays.SparseVector, m::AbstractArray{T,1} where T) in SparseArrays at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/SparseArrays/src/sparsevector.jl:434, convert(::Type{SparseArrays.SparseVector{Tv,Ti}}, Z::Zeros{T,1,Axes} where Axes) where {T, Tv, Ti} in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/FillArrays.jl:405)
 (*(adjA::LinearAlgebra.Adjoint{#s662,#s661} where #s661<:AbstractArray{T,2} where #s662, x::AbstractArray{S,1}) where {T, S} in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/matmul.jl:111, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,1,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:91)
 (*(u::LinearAlgebra.Adjoint{T,#s662} where #s662<:(AbstractArray{T,1} where T) where T, v::AbstractArray{T,1} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/adjtrans.jl:245, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,1,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:91)
 (*(A::AbstractArray{T,2} where T, transB::LinearAlgebra.Transpose{#s662,#s661} where #s661<:LinearAlgebra.AbstractTriangular where #s662) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/triangular.jl:2110, *(a::Zeros{#s14,2,Axes} where Axes where #s14, b::AbstractArray{T,2} where T) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:90)
 (*(u::LinearAlgebra.Transpose{T,#s662} where #s662<:(AbstractArray{T,1} where T) where T, v::AbstractArray{T,1} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/adjtrans.jl:248, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,1,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:91)
 (*(transA::LinearAlgebra.Transpose{#s662,#s661} where #s661<:(Union{LinearAlgebra.Hermitian{T,S}, LinearAlgebra.Symmetric{T,S}, LinearAlgebra.Symmetric{Complex{T},S}} where S where T<:Real) where #s662, B::AbstractArray{T,2} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/symmetric.jl:585, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,2,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:92)
 (*(transA::LinearAlgebra.Transpose{#s662,#s661} where #s661<:(Union{LinearAlgebra.Hermitian{T,S}, LinearAlgebra.Symmetric{T,S}, LinearAlgebra.Symmetric{Complex{T},S}} where S where T<:Real) where #s662, B::AbstractArray{T,1} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/symmetric.jl:584, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,1,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:91)
 (*(A::AbstractArray{T,2} where T, adjR::LinearAlgebra.Adjoint{#s662,#s661} where #s661<:LinearAlgebra.AbstractRotation where #s662) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/givens.jl:14, *(a::Zeros{#s14,2,Axes} where Axes where #s14, b::AbstractArray{T,2} where T) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:90)
 (convert(::Type{Fill}, arr::AbstractArray{T,N} where N) where T in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/FillArrays.jl:116, convert(::Type{T}, F::T) where T<:Fill in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/FillArrays.jl:118)
 ((::Type{Fill{T,N,Axes} where Axes})(x, sz::Axes) where {T, N, Axes<:Tuple{Vararg{AbstractUnitRange,N}}} in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/FillArrays.jl:66, (::Type{Fill{T,N,Axes} where Axes})(x, sz::SZ) where {T, N, SZ<:Tuple{Vararg{Integer,N}}} in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/FillArrays.jl:69)
 (*(u::LinearAlgebra.Transpose{T,#s662} where #s662<:(AbstractArray{T,1} where T), v::AbstractArray{T,1}) where T<:Real in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/adjtrans.jl:246, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,1,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:91)
 (*(adjA::LinearAlgebra.Adjoint{#s662,#s661} where #s661<:(Union{LinearAlgebra.Hermitian{T,S}, LinearAlgebra.Hermitian{Complex{T},S}, LinearAlgebra.Symmetric{T,S}} where S where T<:Real) where #s662, B::AbstractArray{T,2} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/symmetric.jl:589, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,2,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:92)

 (*(transA::LinearAlgebra.Transpose{#s662,#s661} where #s661<:AbstractArray{T,2} where #s662, x::AbstractArray{S,1}) where {T, S} in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/matmul.jl:90, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,1,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:91)
 (*(transA::LinearAlgebra.Transpose{#s660,#s659} where #s659<:LinearAlgebra.AbstractTriangular where #s660, B::AbstractArray{T,1} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/triangular.jl:1979, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,1,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:91)
 (*(A::LinearAlgebra.AbstractTriangular, B::AbstractArray{T,1} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/triangular.jl:1964, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,1,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:91)
 (*(x::LinearAlgebra.Adjoint{T,#s662} where #s662<:(AbstractArray{T,1} where T) where T, A::AbstractArray{T,2} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/matmul.jl:133, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,2,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:92)
 (*(A::AbstractArray{T,2} where T, adjB::LinearAlgebra.Adjoint{#s662,#s661} where #s661<:(Union{LinearAlgebra.Hermitian{T,S}, LinearAlgebra.Hermitian{Complex{T},S}, LinearAlgebra.Symmetric{T,S}} where S where T<:Real) where #s662) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/symmetric.jl:590, *(a::Zeros{#s14,2,Axes} where Axes where #s14, b::AbstractArray{T,2} where T) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:90)
 (*(adjA::LinearAlgebra.Adjoint{#s662,#s661} where #s661<:(Union{LinearAlgebra.Hermitian{T,S}, LinearAlgebra.Hermitian{Complex{T},S}, LinearAlgebra.Symmetric{T,S}} where S where T<:Real) where #s662, B::AbstractArray{T,1} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/symmetric.jl:588, *(a::LinearAlgebra.Adjoint{T,#s14} where #s14<:AbstractArray{T,2} where T, b::Zeros{#s13,1,Axes} where Axes where #s13) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:130)
 (*(transA::LinearAlgebra.Transpose{#s660,#s659} where #s659<:LinearAlgebra.AbstractTriangular where #s660, B::AbstractArray{T,1} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/triangular.jl:1979, *(a::LinearAlgebra.Transpose{T,#s14} where #s14<:AbstractArray{T,2}, b::Zeros{T,1,Axes} where Axes) where T<:Real in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:139)
 (reshape(parent::FillArrays.AbstractFill, dims::Union{Colon, Integer}...) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/FillArrays.jl:175, reshape(parent::AbstractArray{T,1} where T, ::Colon) in Base at reshapedarray.jl:115)
 (*(transA::LinearAlgebra.Transpose{#s662,#s661} where #s661<:(Union{LinearAlgebra.Hermitian{T,S}, LinearAlgebra.Symmetric{T,S}, LinearAlgebra.Symmetric{Complex{T},S}} where S where T<:Real) where #s662, B::AbstractArray{T,1} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/symmetric.jl:584, *(a::LinearAlgebra.Transpose{T,#s14} where #s14<:AbstractArray{T,2}, b::Zeros{T,1,Axes} where Axes) where T<:Real in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:139)
 (*(transA::LinearAlgebra.Transpose{#s660,#s659} where #s659<:LinearAlgebra.AbstractTriangular where #s660, B::AbstractArray{T,2} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/triangular.jl:1979, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,2,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:92)
 (*(adjA::LinearAlgebra.Adjoint{#s662,#s661} where #s661<:LinearAlgebra.AbstractTriangular where #s662, B::AbstractArray{T,1} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/triangular.jl:1971, *(a::LinearAlgebra.Adjoint{T,#s14} where #s14<:AbstractArray{T,2} where T, b::Zeros{#s13,1,Axes} where Axes where #s13) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:130)
 (*(adjA::LinearAlgebra.Adjoint{#s662,#s661} where #s661<:LinearAlgebra.AbstractTriangular where #s662, B::AbstractArray{T,1} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/triangular.jl:1971, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,1,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:91)
 (*(x::LinearAlgebra.Transpose{T,#s662} where #s662<:(AbstractArray{T,1} where T) where T, A::AbstractArray{T,2} where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/matmul.jl:134, *(a::AbstractArray{T,2} where T, b::Zeros{#s14,2,Axes} where Axes where #s14) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:92)
 (*(A::AbstractArray{T,2} where T, transB::LinearAlgebra.Transpose{#s662,#s661} where #s661<:(Union{LinearAlgebra.Hermitian{T,S}, LinearAlgebra.Symmetric{T,S}, LinearAlgebra.Symmetric{Complex{T},S}} where S where T<:Real) where #s662) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/symmetric.jl:586, *(a::Zeros{#s14,2,Axes} where Axes where #s14, b::AbstractArray{T,2} where T) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:90)

As a consequence something like this doesn't work:

julia> Zeros(2) * ones(2)'
ERROR: MethodError: *(::Zeros{Float64,1,Tuple{Base.OneTo{Int64}}}, ::Adjoint{Float64,Array{Float64,1}}) is ambiguous. Candidates:
  *(a::Zeros{#s14,1,Axes} where Axes where #s14, b::AbstractArray{T,2} where T) in FillArrays at /home/jishnu/.julia/packages/FillArrays/g4e4i/src/fillalgebra.jl:89
  *(u::AbstractArray{T,1} where T, v::Union{Adjoint{T,#s662}, Transpose{T,#s662}} where #s662<:(AbstractArray{T,1} where T) where T) in LinearAlgebra at /home/jishnu/Downloads/julia-1.4.2/share/julia/stdlib/v1.4/LinearAlgebra/src/adjtrans.jl:253
Possible fix, define
  *(::Zeros{#s14,1,Axes} where Axes where #s14, ::Union{Adjoint{T,#s662}, Transpose{T,#s662}} where #s662<:(AbstractArray{T,1} where T) where T)
Stacktrace:
 [1] top-level scope at REPL[14]:1
@dlfivefifty
Copy link
Member

Will merge a PR to fix this.

@matbesancon
Copy link

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)

@dlfivefifty
Copy link
Member

Again: I’ll merge a PR that fixes this

@matbesancon
Copy link

sorry didn't mean to sound pushy, it was to update the status of the issue if someone sees something

@amilsted
Copy link

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)

@tpapp
Copy link

tpapp commented Jun 8, 2023

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
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants