Возникли проблемы при использовании функции переменной, установленной дважды в выходном операторе в minizinc - PullRequest
0 голосов
/ 22 октября 2019

Следующая программа работает без проблем.

array[1..2] of var set of 5..8: ar = [{5, 6}, {6, 7}];

function string: format_set_1( var set of int: s ) = "\(fix(s))\t";  
function string: format_set_2( var set of int: s ) = "\(fix(s))\t";  

output
   [format_set_1(ar[1]) ++ format_set_2(ar[2])];

Но когда я заменяю format_set_2 на format_set_1 (или наоборот) в выходном массиве, я получаю следующее сообщение об ошибке.

MiniZinc: type error: 
function with the same type already defined in C:/Users/rabbott/AppData/Local/Temp/MiniZinc IDE (bundled)-SEkuWd/untitled_model.mzn:4.1

Что происходит?

1 Ответ

1 голос
/ 23 октября 2019

Эта проблема вызвана ошибкой в ​​MiniZinc 2.3.2. Эта проблема была недавно поднята на GitHub и исправлена ​​в Разрабатывающей ветви MiniZinc . Следующий выпуск MiniZinc должен снова работать как положено.

...