erlang透析器和扩展模块

时间:2012-04-01 16:03:04

标签: erlang dialyzer

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 个答案:

答案 0 :(得分:3)

Dialyzer不支持扩展模块,也没有这种扩展的计划。据我所知,模块继承甚至不是Erlang的官方特性。

...对不起