Что вызывает ошибку типа в аргументе (аргументах) функтора `field_name / 1 'в Mercury? - PullRequest
0 голосов
/ 18 марта 2019

Когда я компилирую исходный код, я получаю следующую ошибку: ошибка типа в аргументе (аргументах) функтора `source / 1 '

Компилятор правильно определяет типы аргументов, но продолжает пытаться использоватьполе из другой записи.

Что не так?

1 Ответ

0 голосов
/ 18 марта 2019

Проблема заключается в отсутствии ': - include_module' для используемого типа данных. Компилятор знает, что это за тип, даже если у вас не указан модуль.

Я нашел ответ, используя более подробный синтаксис:

my_functor (Val1, Val2, Val3) = Переменная

Где компилятор ясно сказал мне, что my_functor не был определен. В данном конкретном случае поле «источник» было названо в двух разных структурах в двух разных модулях, один из которых был импортирован, что несколько усложняет сообщение об ошибке.

...