[erlang-questions] dialyzer is driving me nuts

Joel Reymont <>
Tue Oct 18 21:29:50 CEST 2011


Removing all types from #game{} and fixing the barrier_start type spec as follows, gives me this erorr:

barrier_start.erl:53: The specification for barrier_start:barrier_start/3 states that the function might also return {'stop',{'game',_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_},tuple()} but the inferred return is {'continue',{'game',_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_},_} | {'skip',{'game',_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_},_}

-type barrier_event() :: 
        {timeout, _, _}
      | #pm_event{pm_message :: #pm_join{}}
      | #pm_event{pm_message :: #pm_leave{}}
      | {'EXIT', _, _}.

-type barrier_return() :: {continue | stop | skip, #game{}, game_ctx()}.

-spec barrier_start(#game{}, game_ctx(), barrier_event()) -> barrier_return().

What am I missing?

--------------------------------------------------------------------------
- for hire: mac osx device driver ninja, kernel extensions and usb drivers
---------------------+------------+---------------------------------------
http://wagerlabs.com | @wagerlabs | http://www.linkedin.com/in/joelreymont
---------------------+------------+---------------------------------------




More information about the erlang-questions mailing list