[erlang-questions] Dialyzer, Callback info about the behaviour is not available

Jeremy Raymond jeraymond@REDACTED
Fri Jan 6 02:40:25 CET 2012


Actually -Wno_undefined_callbacks is the correct option to disable the warning rather than -Wno_behaviours.

Jeremy

On 2012-01-05, at 5:40 AM, Kostis Sagonas wrote:

> On 01/05/12 03:57, Jeremy Raymond wrote:
>> Hi,
>> 
>> I'm running dialyzer on an app. I've built the plt for the apps I'm using one of which is cowboy. I've implemented cowboy's cowboy_http_handler behaviour. When I run dialyzer is outputs the warning, "my_http_handler:10: Callback info about the cowboy_http_handler behaviour is not available". How can I teach dialyzer about the cowboy_http_handler behaviour?
> 
> Dialyzer's message means that this particular behaviour module has not been adapted to specify type information about its callbacks. (This is of course understandable given that this is a new language addition.)
> 
> I've taken a look at the source code of this particular module:
> 
> https://github.com/extend/cowboy/blob/master/src/cowboy_http_handler.erl
> 
> and it appears to be very minimal. (As a matter of fact, I am a bit baffled by its minimality.) To avoid this warning the developers of cowboy need to adapt its code so that it contains -callback attributes instead of a behaviour_info/1 function. (This function will be generated automatically if callback attributes are present.) But of course this will mean that cowboy will require R15B. Until this change is done, you can either create your own version of this module with proper callback information in it, or use the -Wno_behaviours command line option of dialyzer.
> 
> Kostis




More information about the erlang-questions mailing list