Dialyzer не любит вызовы функций в базовом модуле. Есть флаг диализатора, чтобы пропустить эту ошибку, или я делаю что-то не так.
Вот похожий код:
-module(base).
-export(foo/1).
foo(X) -> X*2.
-module(derived).
-extends(base).
-export(xyz/0).
xyz() ->
?MODULE:foo(5).
Этот фрагмент кода работает так, как я ожидаю. Мое единственное беспокойство - предупреждение диализатора;
---. Erl: 41: вызов отсутствующей или не экспортированной функции ---: --- / 3
Я что-то не так делаю или диализатор выдает ненужное предупреждение?