2012-04-01 3 views
1

Dialyzer는 기본 모듈의 함수 호출을 좋아하지 않습니다. 이 오류를 건너 뛰는 dialyzer 플래그가 있습니까? 아니면 잘못하고 있습니다. 내가이 일을 예상대로erlang dialyzer 및 확장 모듈

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

foo(X) -> X*2. 


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

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

이 코드 조각 작품 : 여기에

비슷한 코드입니다. 내 유일한 관심사는 투석기 경고입니다.

--- ERL :. 41 : 없거나 안 export 함수 호출 --- : ---/3

내가 뭔가 잘못하고 있는가하거나 투석기 불필요한 경고를주고있다?

답변

3

Dialyzer는 확장 모듈을 지원하지 않으며 그러한 확장을위한 계획도 없습니다. 내가 아는 한, 모듈 상속은 Erlang의 공식적인 특징조차 아니다.

죄송합니다 ...

+0

나는 공식적인 기능이 아니란 것을 몰랐습니다. 어쩌면 내가 처음부터 그것을 사용해서는 안된다. 그것은 몇 가지 상황에서 유용 할 것이다. – cashmere