-
Notifications
You must be signed in to change notification settings - Fork 94
Closed
Description
It's probably one of the strangest errors I've ever seen in Julia. While working on ConstraintProgrammingExtensions' bridges (code at commit JuliaConstraints/ConstraintProgrammingExtensions.jl@18eb085), I got this error when updating to MOI 0.9.22 (from 0.9.20):
LoadError: syntax: unsupported `const` declaration on local variable around C:\Users\Thibaut\.julia\packages\MathOptInterface\1EYfq\src\Utilities\struct_of_constraints.jl:269
The relevant line of struct_of_constraints.jl
does not really contain a const
declaration, but it's in a macro:
function $MOIU.constraints(
This is reproducible in the GitHub Actions test environment: https://github.com/dourouc05/ConstraintProgrammingExtensions.jl/runs/2704982333
With 0.9.20, I have no such error, only failing tests:
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.6.0 (2021-03-24)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
(@v1.6) pkg> add MathOptInterface@0.9.20
Updating registry at `C:\Users\Thibaut\.julia\registries\General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Resolving package versions...
Installed MathOptInterface ─ v0.9.20
Updating `C:\Users\Thibaut\.julia\environments\v1.6\Project.toml`
[b8f27783] ↓ MathOptInterface v0.9.21 ⇒ v0.9.20
Updating `C:\Users\Thibaut\.julia\environments\v1.6\Manifest.toml`
[6e4b80f9] ↓ BenchmarkTools v0.7.0 ⇒ v0.5.0
[b8f27783] ↓ MathOptInterface v0.9.21 ⇒ v0.9.20
Progress [========================================>] 9/9
9 dependencies successfully precompiled in 37 seconds (76 already precompiled)
julia> include(raw"C:\Users\Thibaut\.julia\dev\ConstraintProgrammingExtensions\test\runtests.jl")
model = MOIB.Constraint.SingleBridgeOptimizer{ConstraintProgrammingExtensions.Bridges.BinPacking2MILPBridge{Int64}, MOIU.MockOptimizer{MILPModel{Int64}}}
with 0 constraint bridges
with inner model MOIU.MockOptimizer{MILPModel{Int64}}
MOIB.is_bridged(model, MOI.VectorOfVariables, CP.BinPacking{Int}) = true
FixedCapacityBinPacking2BinPacking: Error During Test at C:\Users\Thibaut\.julia\dev\ConstraintProgrammingExtensions\test\Bridges\set_fixedcapacitybinpacking.jl:1
Got exception outside of a @test
MathOptInterface.UnsupportedConstraint{MathOptInterface.VectorOfVariables, ConstraintProgrammingExtensions.FixedCapacityBinPacking{Int64}}: `MathOptInterface.VectorOfVariables`-in-`ConstraintProgrammingExtensions.FixedCapacityBinPacking{Int64}` constraint is not supported by the model.
Stacktrace:
[1] add_constraint(model::MILPModel{Int64}, f::MathOptInterface.VectorOfVariables, s::ConstraintProgrammingExtensions.FixedCapacityBinPacking{Int64})
@ MathOptInterface.Utilities ~\.julia\packages\MathOptInterface\5WwpK\src\Utilities\model.jl:674
[2] add_constraint(mock::MathOptInterface.Utilities.MockOptimizer{MILPModel{Int64}}, func::MathOptInterface.VectorOfVariables, set::ConstraintProgrammingExtensions.FixedCapacityBinPacking{Int64})
@ MathOptInterface.Utilities ~\.julia\packages\MathOptInterface\5WwpK\src\Utilities\mockoptimizer.jl:124
[3] add_constraint(b::MathOptInterface.Bridges.Constraint.SingleBridgeOptimizer{ConstraintProgrammingExtensions.Bridges.BinPacking2MILPBridge{Int64}, MathOptInterface.Utilities.MockOptimizer{MILPModel{Int64}}}, f::MathOptInterface.VectorOfVariables, s::ConstraintProgrammingExtensions.FixedCapacityBinPacking{Int64})
@ MathOptInterface.Bridges ~\.julia\packages\MathOptInterface\5WwpK\src\Bridges\bridge_optimizer.jl:1345
[4] macro expansion
@ ~\.julia\dev\ConstraintProgrammingExtensions\test\Bridges\set_fixedcapacitybinpacking.jl:26 [inlined]
[5] macro expansion
@ C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Test\src\Test.jl:1151 [inlined]
[6] top-level scope
@ ~\.julia\dev\ConstraintProgrammingExtensions\test\Bridges\set_fixedcapacitybinpacking.jl:2
[7] include(fname::String)
@ Base.MainInclude .\client.jl:444
[8] macro expansion
@ ~\.julia\dev\ConstraintProgrammingExtensions\test\Bridges\Bridges.jl:29 [inlined]
[9] macro expansion
@ C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Test\src\Test.jl:1151 [inlined]
[10] macro expansion
@ ~\.julia\dev\ConstraintProgrammingExtensions\test\Bridges\Bridges.jl:29 [inlined]
[11] macro expansion
@ C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Test\src\Test.jl:1151 [inlined]
[12] top-level scope
@ ~\.julia\dev\ConstraintProgrammingExtensions\test\Bridges\Bridges.jl:2
[13] include(fname::String)
@ Base.MainInclude .\client.jl:444
[14] macro expansion
@ ~\.julia\dev\ConstraintProgrammingExtensions\test\runtests.jl:17 [inlined]
[15] macro expansion
@ C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Test\src\Test.jl:1151 [inlined]
[16] top-level scope
@ ~\.julia\dev\ConstraintProgrammingExtensions\test\runtests.jl:17
[17] include(fname::String)
@ Base.MainInclude .\client.jl:444
[18] top-level scope
@ REPL[2]:1
[19] eval
@ .\boot.jl:360 [inlined]
[20] eval_user_input(ast::Any, backend::REPL.REPLBackend)
@ REPL C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:139
[21] repl_backend_loop(backend::REPL.REPLBackend)
@ REPL C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:200
[22] start_repl_backend(backend::REPL.REPLBackend, consumer::Any)
@ REPL C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:185
[23] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool)
@ REPL C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:317
[24] run_repl(repl::REPL.AbstractREPL, consumer::Any)
@ REPL C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:305
[25] (::Base.var"#874#876"{Bool, Bool, Bool})(REPL::Module)
@ Base .\client.jl:387
[26] #invokelatest#2
@ .\essentials.jl:708 [inlined]
[27] invokelatest
@ .\essentials.jl:706 [inlined]
[28] run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool)
@ Base .\client.jl:372
[29] exec_options(opts::Base.JLOptions)
@ Base .\client.jl:302
[30] _start()
@ Base .\client.jl:485
Test Summary: | Pass Error Total
ConstraintProgrammingExtensions | 3 1 4
Bridges | 3 1 4
BinPacking | 3 1 4
FixedCapacityBinPacking2BinPacking | 3 1 4
ERROR: LoadError: Some tests did not pass: 3 passed, 0 failed, 1 errored, 0 broken.
in expression starting at C:\Users\Thibaut\.julia\dev\ConstraintProgrammingExtensions\test\runtests.jl:13
The full error message with MOI 0.9.21 or 0.9.22:
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.6.0 (2021-03-24)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia> using ConstraintProgrammingExtensions
[ Info: Precompiling ConstraintProgrammingExtensions [b65d079e-ed98-51d9-b0db-edee61a5c5f8]
julia> include(raw"C:\Users\Thibaut\.julia\dev\ConstraintProgrammingExtensions\test\runtests.jl")
ConstraintProgrammingExtensions: Error During Test at C:\Users\Thibaut\.julia\dev\ConstraintProgrammingExtensions\test\runtests.jl:13
Got exception outside of a @test
LoadError: syntax: unsupported `const` declaration on local variable around C:\Users\Thibaut\.julia\packages\MathOptInterface\1EYfq\src\Utilities\struct_of_constraints.jl:269
Stacktrace:
[1] top-level scope
@ ~\.julia\dev\ConstraintProgrammingExtensions\test\Bridges\Bridges.jl:1
[2] include(fname::String)
@ Base.MainInclude .\client.jl:444
[3] macro expansion
@ ~\.julia\dev\ConstraintProgrammingExtensions\test\runtests.jl:17 [inlined]
[4] macro expansion
@ C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Test\src\Test.jl:1151 [inlined]
[5] top-level scope
@ ~\.julia\dev\ConstraintProgrammingExtensions\test\runtests.jl:17
[6] include(fname::String)
@ Base.MainInclude .\client.jl:444
[7] top-level scope
@ REPL[2]:1
[8] eval
@ .\boot.jl:360 [inlined]
[9] eval_user_input(ast::Any, backend::REPL.REPLBackend)
@ REPL C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:139
[10] repl_backend_loop(backend::REPL.REPLBackend)
@ REPL C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:200
[11] start_repl_backend(backend::REPL.REPLBackend, consumer::Any)
@ REPL C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:185
[12] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool)
@ REPL C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:317
[13] run_repl(repl::REPL.AbstractREPL, consumer::Any)
@ REPL C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:305
[14] (::Base.var"#874#876"{Bool, Bool, Bool})(REPL::Module)
@ Base .\client.jl:387
[15] #invokelatest#2
@ .\essentials.jl:708 [inlined]
[16] invokelatest
@ .\essentials.jl:706 [inlined]
[17] run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool)
@ Base .\client.jl:372
[18] exec_options(opts::Base.JLOptions)
@ Base .\client.jl:302
[19] _start()
@ Base .\client.jl:485
in expression starting at C:\Users\Thibaut\.julia\dev\ConstraintProgrammingExtensions\test\Bridges\Bridges.jl:1
Test Summary: | Error Total
ConstraintProgrammingExtensions | 1 1
ERROR: LoadError: Some tests did not pass: 0 passed, 0 failed, 1 errored, 0 broken.
in expression starting at C:\Users\Thibaut\.julia\dev\ConstraintProgrammingExtensions\test\runtests.jl:13
It started appearing with JuliaConstraints/ConstraintProgrammingExtensions.jl@18eb085, not before.
Metadata
Metadata
Assignees
Labels
No labels