Skip to content

Ambiguous methods for supports_constraint #854

Closed
@matbesancon

Description

@matbesancon

The following happened when testing Dualization with MOI v0.9:

structures: Error During Test at /home/mbesancon/.julia/dev/Dualization/test/Tests/test_structures.jl:1
  Got exception outside of a @test
  MethodError: supports_constraint(::TestModel{Float64}, ::Type{MathOptInterface.SingleVariable}, ::Type{MathOptInterface.GreaterThan{Float64}}) is ambiguous. Candidates:
    supports_constraint(model::TestModel{#13#T}, ::Type{#s915} where #s915<:Union{MathOptInterface.SingleVariable, MathOptInterface.ScalarAffineFunction{#13#T}, MathOptInterface.ScalarQuadraticFunction{#13#T}}, ::Type{#s916} where #s916<:Union{MathOptInterface.Integer, MathOptInterface.ZeroOne, MathOptInterface.EqualTo{#13#T}, MathOptInterface.GreaterThan{#13#T}, MathOptInterface.Interval{#13#T}, MathOptInterface.LessThan{#13#T}, MathOptInterface.Semicontinuous{#13#T}, MathOptInterface.Semiinteger{#13#T}}) where #13#T in Main at /home/mbesancon/.julia/packages/MathOptInterface/016Ol/src/Utilities/model.jl:997
    supports_constraint(::MathOptInterface.Utilities.AbstractModel{T}, ::Type{MathOptInterface.SingleVariable}, ::Type{#s109} where #s109<:Union{MathOptInterface.Integer, MathOptInterface.ZeroOne, MathOptInterface.EqualTo{T}, MathOptInterface.GreaterThan{T}, MathOptInterface.Interval{T}, MathOptInterface.LessThan{T}}) where T in MathOptInterface.Utilities at /home/mbesancon/.julia/packages/MathOptInterface/016Ol/src/Utilities/model.jl:469
  Possible fix, define
    supports_constraint(::TestModel{T}, ::Type{MathOptInterface.SingleVariable}, ::Type{#s109} where #s109<:Union{MathOptInterface.Integer, MathOptInterface.ZeroOne, MathOptInterface.EqualTo{T}, MathOptInterface.GreaterThan{T}, MathOptInterface.Interval{T}, MathOptInterface.LessThan{T}})
  Stacktrace:
   [1] add_constraint(::TestModel{Float64}, ::MathOptInterface.SingleVariable, ::MathOptInterface.GreaterThan{Float64}) at /home/mbesancon/.julia/packages/MathOptInterface/016Ol/src/Utilities/model.jl:473
   [2] lp1_test() at /home/mbesancon/.julia/dev/Dualization/test/Problems/Linear/linear_problems.jl:18
   [3] top-level scope at /home/mbesancon/.julia/dev/Dualization/test/Tests/test_structures.jl:8
   [4] top-level scope at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.2/Test/src/Test.jl:1113
   [5] top-level scope at /home/mbesancon/.julia/dev/Dualization/test/Tests/test_structures.jl:2

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions