You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enabling the ambiguity report in test/Aqua.jl currently reports 622 ambiguities (with Julia 1.9). 587 of these are du to rand (see #1388), which leaves 35.
Most of these seem to be some corner-cases regarding RingElement together with ad-hoc methods for Integer or Rational.
julia> Aqua.test_ambiguities(AbstractAlgebra; exclude=[rand])
35 ambiguities found
Ambiguity #1
(a::AbstractAlgebra.Generic.PolyRing{T})(b::Union{AbstractFloat, Integer, Rational}) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Poly.jl:349
(a::AbstractAlgebra.Generic.PolyRing{T})(b::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Poly.jl:355
Possible fix, define
(::AbstractAlgebra.Generic.PolyRing{T})(::T) where T<:Union{AbstractFloat, Integer, Rational}
Ambiguity #2
(a::AbstractAlgebra.Generic.FracField{T})(b::T, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:84
(a::AbstractAlgebra.Generic.FracField{T})(b::Union{AbstractFloat, Integer, Rational}, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:120
Possible fix, define
(::AbstractAlgebra.Generic.FracField{T})(::T, ::T) where T<:Union{AbstractFloat, Integer, Rational}
Ambiguity #3valuation(z::AbstractAlgebra.FracElem{T}, p) where T @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/Fraction.jl:757valuation(a::T, b::T) where T<:Union{Number, RingElement} @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/algorithms/GenericFunctions.jl:191
Possible fix, define
valuation(::T, ::T) where T<:(AbstractAlgebra.FracElem)
Ambiguity #4remove(z::AbstractAlgebra.FracElem{T}, p) where T @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/Fraction.jl:744remove(a::T, b::T) where T<:Union{Number, RingElement} @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/algorithms/GenericFunctions.jl:168
Possible fix, define
remove(::T, ::T) where T<:(AbstractAlgebra.FracElem)
Ambiguity #5
(a::AbstractAlgebra.Generic.FracField{T})(b::T, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:84
(a::AbstractAlgebra.Generic.FracField{T})(b::T, c::Union{AbstractFloat, Integer, Rational}) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:105
Possible fix, define
(::AbstractAlgebra.Generic.FracField{T})(::T, ::T) where T<:Union{AbstractFloat, Integer, Rational}
Ambiguity #6
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:565
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::Union{Integer, Rational}) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:578
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T, ::T) where T<:Union{Integer, Rational}
Ambiguity #7
(a::AbstractAlgebra.Generic.FracField{T})(b::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:77
(a::AbstractAlgebra.Generic.FracField{T})(b::Union{AbstractFloat, Integer}) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:140
Possible fix, define
(::AbstractAlgebra.Generic.FracField{T})(::T) where T<:Union{AbstractFloat, Integer}
Ambiguity #8promote(x::AbstractAlgebra.MatrixElem{S}, y::AbstractAlgebra.MatrixElem{T}) where {S<:Union{NCRingElem, RingElement}, T<:Union{NCRingElem, RingElement}} @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/Matrix.jl:964promote(x::S, y::AbstractAlgebra.MatElem{T}) where {S<:Union{NCRingElem, RingElement}, T<:Union{NCRingElem, RingElement}} @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/Matrix.jl:1019
Possible fix, define
promote(::S, ::AbstractAlgebra.MatElem{T}) where {S<:(AbstractAlgebra.MatAlgElem{S} where S<:Union{AbstractAlgebra.NCRingElem, AbstractAlgebra.RingElement}), T<:Union{AbstractAlgebra.NCRingElem, AbstractAlgebra.RingElement}}
Ambiguity #9kwcall(::Any, ::typeof(AbstractAlgebra.divexact), a::Union{Integer, Rational}, b::AbstractAlgebra.Generic.FunctionFieldElem) @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/FunctionField.jl:1024kwcall(::Any, ::typeof(AbstractAlgebra.divexact), a::T, b::AbstractAlgebra.Generic.FunctionFieldElem{T}) where T<:FieldElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/FunctionField.jl:1029
Possible fix, define
kwcall(::Any, ::typeof(AbstractAlgebra.divexact), ::T, ::AbstractAlgebra.Generic.FunctionFieldElem{T}) where T<:Rational
Ambiguity #10
(a::AbstractAlgebra.Generic.SparsePolyRing{T})(b::Union{AbstractFloat, Integer, Rational}) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/SparsePoly.jl:1663
(a::AbstractAlgebra.Generic.SparsePolyRing{T})(b::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/SparsePoly.jl:1669
Possible fix, define
(::AbstractAlgebra.Generic.SparsePolyRing{T})(::T) where T<:Union{AbstractFloat, Integer, Rational}
Ambiguity #11
(a::AbstractAlgebra.Generic.FracField{T})(b::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:77
(a::AbstractAlgebra.Generic.FracField{T})(b::Rational) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:146
Possible fix, define
(::AbstractAlgebra.Generic.FracField{T})(::T) where T<:Rational
Ambiguity #12
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Union{Integer, Rational}, c::T, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:582
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Integer, c::Integer, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:590
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::Integer, ::T, ::Any) where T<:Integer
Ambiguity #13
(a::AbstractAlgebra.Generic.FracField{T})(b::T, c::Union{AbstractFloat, Integer, Rational}) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:105
(a::AbstractAlgebra.Generic.FracField{T})(b::Integer, c::Integer) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:153
Possible fix, define
(::AbstractAlgebra.Generic.FracField{T})(::T, ::Integer) where T<:Integer
Ambiguity #14
(a::AbstractAlgebra.Generic.FracField{T})(b::T, c::Union{AbstractFloat, Integer, Rational}) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:105
(a::AbstractAlgebra.Generic.FracField{T})(b::Union{AbstractFloat, Integer, Rational}, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:120
Possible fix, define
(::AbstractAlgebra.Generic.FracField{T})(::T, ::T) where T<:Union{AbstractFloat, Integer, Rational}
Ambiguity #15
(a::AbstractAlgebra.Generic.FracField{T})(b::Union{AbstractFloat, Integer, Rational}, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:120
(a::AbstractAlgebra.Generic.FracField{T})(b::Integer, c::Integer) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:153
Possible fix, define
(::AbstractAlgebra.Generic.FracField{T})(::Integer, ::T) where T<:Integer
Ambiguity #16
(a::AbstractAlgebra.Generic.FracField{T})(b::T, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:84
(a::AbstractAlgebra.Generic.FracField{T})(b::Integer, c::Integer) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/Fraction.jl:153
Possible fix, define
(::AbstractAlgebra.Generic.FracField{T})(::T, ::T) where T<:Integer
Ambiguity #17
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::Union{Integer, Rational}, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:578
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Integer, c::Integer, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:590
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T, ::Integer, ::Any) where T<:Integer
Ambiguity #18promote_rule(::Type{T}, ::Type{T}) where T<:Union{NCRingElem, RingElement} @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/NCRings.jl:28promote_rule(::Type{AbstractAlgebra.Generic.LaurentMPolyWrap{T, PE, LR}}, ::Type{U}) where {T, PE, LR, U} @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/LaurentMPoly.jl:598
Possible fix, define
promote_rule(::Type{AbstractAlgebra.Generic.LaurentMPolyWrap{T, PE, LR}}, ::Type{AbstractAlgebra.Generic.LaurentMPolyWrap{T, PE, LR}}) where {T, PE, LR}
Ambiguity #19evaluate(f::AbstractAlgebra.FracElem{T}, v::U) where {T<:PolyRingElem, U<:Integer} @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/Fraction.jl:625evaluate(f::AbstractAlgebra.Generic.FactoredFrac{T}, v::U) where {T<:RingElement, U<:RingElement} @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/FactoredFraction.jl:430
Possible fix, define
evaluate(::AbstractAlgebra.Generic.FactoredFrac{T}, ::U) where {T<:AbstractAlgebra.PolyRingElem, U<:Integer}
Ambiguity #20
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::T, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:565
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::Union{Integer, Rational}, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:578
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T, ::T, ::Any) where T<:Union{Integer, Rational}
Ambiguity #21
(R::AbstractAlgebra.Generic.FunctionField{T})(a::T) where T<:FieldElem @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/FunctionField.jl:1267
(R::AbstractAlgebra.Generic.FunctionField{T})(a::AbstractAlgebra.Generic.FunctionFieldElem) where T<:FieldElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/FunctionField.jl:1281
Possible fix, define
(::AbstractAlgebra.Generic.FunctionField{T})(::T) where T<:AbstractAlgebra.Generic.FunctionFieldElem
Ambiguity #22
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:565
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Union{Integer, Rational}, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:582
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T, ::T) where T<:Union{Integer, Rational}
Ambiguity #23promote_rule(::Type{T}, ::Type{T}) where T<:Union{NCRingElem, RingElement} @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/NCRings.jl:28promote_rule(::Type{AbstractAlgebra.Generic.LaurentPolyWrap{S, T, V}}, ::Type{U}) where {S, T, U, V} @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/LaurentPoly.jl:466
Possible fix, define
promote_rule(::Type{AbstractAlgebra.Generic.LaurentPolyWrap{S, T, V}}, ::Type{AbstractAlgebra.Generic.LaurentPolyWrap{S, T, V}}) where {S, T, V}
Ambiguity #24*(a::AbstractAlgebra.Generic.AbsMSeries, b::AbstractAlgebra.Generic.AbsMSeries) @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/AbsMSeries.jl:394*(a::T, b::AbstractAlgebra.Generic.AbsMSeries{T}) where T<:RingElem @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/AbsMSeries.jl:414
Possible fix, define
*(::T, ::AbstractAlgebra.Generic.AbsMSeries{T}) where T<:AbstractAlgebra.Generic.AbsMSeries
Ambiguity #25
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:565
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Integer, c::Integer) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:590
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T, ::T) where T<:Integer
Ambiguity #26divexact(a::Union{Integer, Rational}, b::AbstractAlgebra.Generic.FunctionFieldElem; check) @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/FunctionField.jl:1024divexact(a::T, b::AbstractAlgebra.Generic.FunctionFieldElem{T}; check) where T<:FieldElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/FunctionField.jl:1029
Possible fix, define
divexact(::T, ::AbstractAlgebra.Generic.FunctionFieldElem{T}) where T<:Rational
Ambiguity #27
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::Union{Integer, Rational}) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:578
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Union{Integer, Rational}, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:582
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T, ::T) where T<:Union{Integer, Rational}
Ambiguity #28
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::T, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:565
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Integer, c::Integer, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:590
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T, ::T, ::Any) where T<:Integer
Ambiguity #29
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::T, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:565
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Union{Integer, Rational}, c::T, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:582
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T, ::T, ::Any) where T<:Union{Integer, Rational}
Ambiguity #30promote(x::AbstractAlgebra.MatrixElem{S}, y::AbstractAlgebra.MatrixElem{T}) where {S<:Union{NCRingElem, RingElement}, T<:Union{NCRingElem, RingElement}} @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/Matrix.jl:964promote(x::AbstractAlgebra.MatElem{S}, y::T) where {S<:Union{NCRingElem, RingElement}, T<:Union{NCRingElem, RingElement}} @ AbstractAlgebra ~/code/AbstractAlgebra.jl/src/Matrix.jl:1010
Possible fix, define
promote(::AbstractAlgebra.MatElem{S}, ::T) where {S<:Union{AbstractAlgebra.NCRingElem, AbstractAlgebra.RingElement}, T<:(AbstractAlgebra.MatAlgElem{T} where T<:Union{AbstractAlgebra.NCRingElem, AbstractAlgebra.RingElement})}
Ambiguity #31
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Union{Integer, Rational}, c::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:582
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Integer, c::Integer) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:590
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::Integer, ::T) where T<:Integer
Ambiguity #32
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::Union{Integer, Rational}) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:578
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Integer, c::Integer) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:590
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T, ::Integer) where T<:Integer
Ambiguity #33*(a::AbstractAlgebra.Generic.AbsMSeries, b::AbstractAlgebra.Generic.AbsMSeries) @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/AbsMSeries.jl:394*(a::AbstractAlgebra.Generic.AbsMSeries{T}, b::T) where T<:RingElem @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/AbsMSeries.jl:424
Possible fix, define
*(::AbstractAlgebra.Generic.AbsMSeries{T}, ::T) where T<:AbstractAlgebra.Generic.AbsMSeries
Ambiguity #34
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:557
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Union{Integer, Rational}) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:586
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T) where T<:Union{Integer, Rational}
Ambiguity #35
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::T, c::Union{Integer, Rational}, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:578
(a::AbstractAlgebra.Generic.TotFracRing{T})(b::Union{Integer, Rational}, c::T, check) where T<:RingElement @ AbstractAlgebra.Generic ~/code/AbstractAlgebra.jl/src/generic/TotalFraction.jl:582
Possible fix, define
(::AbstractAlgebra.Generic.TotFracRing{T})(::T, ::T, ::Any) where T<:Union{Integer, Rational}
Test Failed at /home/lgoe/.julia/packages/Aqua/BhBic/src/ambiguities.jl:123
Expression:success(pipeline(cmd; stdout=stdout, stderr=stderr))
ERROR: There was an error during testing
To reproduce the above use any Aqua version where (JuliaTesting/Aqua.jl#142) is available, i.e. master or v0.6.4 once it is released.
The text was updated successfully, but these errors were encountered:
Enabling the ambiguity report in test/Aqua.jl currently reports 622 ambiguities (with Julia 1.9). 587 of these are du to
rand
(see #1388), which leaves 35.Most of these seem to be some corner-cases regarding
RingElement
together with ad-hoc methods forInteger
orRational
.To reproduce the above use any Aqua version where (JuliaTesting/Aqua.jl#142) is available, i.e.
master
orv0.6.4
once it is released.The text was updated successfully, but these errors were encountered: