Erlang диализатор и расширенные модули - PullRequest
1 голос
/ 01 апреля 2012

Dialyzer не любит вызовы функций в базовом модуле. Есть флаг диализатора, чтобы пропустить эту ошибку, или я делаю что-то не так.

Вот похожий код:

-module(base).
-export(foo/1).

foo(X) -> X*2.


-module(derived).
-extends(base).
-export(xyz/0).

xyz() -> 
    ?MODULE:foo(5).

Этот фрагмент кода работает так, как я ожидаю. Мое единственное беспокойство - предупреждение диализатора;

---. Erl: 41: вызов отсутствующей или не экспортированной функции ---: --- / 3

Я что-то не так делаю или диализатор выдает ненужное предупреждение?

1 Ответ

3 голосов
/ 01 апреля 2012

Dialyzer не поддерживает расширенные модули, а также нет планов для такого расширения.Насколько я знаю, наследование модулей даже не является официальной чертой Erlang.

Извините ...

...