Closed
Description
Example code that fails on Chuffed 0.10.4 and COIN-BC 2.10/1.17:
set of int: edges = {1, 2, 3};
array[1..3] of set of edges: adj_list = [{3}, {}, {2}];
array[1..3] of var edges: path;
constraint forall(t in 1..3 where t < 3)(
(path[t + 1] in adj_list[path[t]])
);
solve satisfy;
This same model works on Gecode 6.1.1. The following error output is printed to stdout when run:
MiniZinc: flattening error:
/home/stran/Dropbox/Uni/FIT2082/Optimised Solver/test.mzn:5:
in call 'forall'
in array comprehension expression
with t = 2
/home/stran/Dropbox/Uni/FIT2082/Optimised Solver/test.mzn:6:
in binary 'in' operator expression
in array access
/opt/minizinc/share/minizinc/std//builtins.mzn:2360:
in if-then-else expression
in let expression
/opt/minizinc/share/minizinc/std//builtins.mzn:2362:
in call 'element_t'
/opt/minizinc/share/minizinc/std//builtins.mzn:2344:
in let expression
/opt/minizinc/share/minizinc/std//builtins.mzn:2347:
in call 'array_var_set_element_nonshifted'
/opt/minizinc/share/minizinc/std//redefinitions-2.0.2.mzn:45:
in call 'array_var_set_element'
/opt/minizinc/share/minizinc/std//builtins.mzn:1930:
in call 'array_set_element'
/opt/minizinc/share/minizinc/std//nosets.mzn:307:
in let expression
/opt/minizinc/share/minizinc/std//nosets.mzn:314:
in binary 'subset' operator expression
cannot find matching declaration
Process finished with non-zero exit code 1
Expected output is:
Compiling test.mzn
Running test.mzn
path = array1d(1..3, [1, 3, 2]);
----------
Finished in 38msec
Issue originally posted here: chuffed/chuffed#47 (comment)
Metadata
Metadata
Assignees
Labels
No labels