[erlang-questions] possible dialyzer bug
Kostis Sagonas
kostis@REDACTED
Mon Jan 25 15:14:59 CET 2016
On 01/25/2016 03:09 PM, Zachary Kessin wrote:
> I have a strange dialyzer problem, I have this code
>
> case convert_map_to_record(MapId, UserId, ClientId,
> Terms) of
> {ok, MapRecord} ->
> %....
> {true, ReqData1, MapRecord};
> {error, Error} ->
> lager:error("Error ~p", [Error]),
> {{error, 405}, ReqData, State}
> end
>
> and dialyzer is saying this
>
> _build/default/lib/frontend/src/wm_map.erl
> 100: The pattern {'ok', MapRecord} can never match the type {'error',_}
>
> With what is line 100 being the line with the red background, what is
> strange is that that the error case is covered in the case statement
Yes, what dialyzer tells you is that it has somehow inferred that your
convert_map_to_record/4 function only returns {'error',_}, so the
{'ok',_} pattern will never match.
Most likely, your convert_map_to_record/4 function does not do what you
think it does... For more info, please submit a complete module that
illustrates the problem.
Kostis
More information about the erlang-questions
mailing list