[erlang-questions] Can't run my command line Erlang program
Steve Vinoski
vinoski@REDACTED
Fri Nov 15 01:57:14 CET 2013
On Thu, Nov 14, 2013 at 7:46 PM, Andrew Pennebaker <
andrew.pennebaker@REDACTED> wrote:
> Dialyzer:
>
> erlc -Wall +debug_info ios7crypt.erl
> dialyzer *.beam --build_plt --quiet
> dialyzer *.beam
> Checking whether the PLT /Users/andrew/.dialyzer_plt is up-to-date... yes
> Proceeding with analysis...
> ios7crypt.erl:60: The pattern 'true' can never match the type 'false'
> ...
>
> In particular, I'm confused what dialyzer doesn't like about line 60.
>
> 59 FirstOne = case is_binary(FirstTemp) of
> 60 true -> binary_to_list(FirstTemp);
> 61 false -> FirstOneRaw
> 62 end,
>
> Not sure what's wrong. I tried using `_` instead of `false`, but got the
> same warning. Should I use an if/else instead of case?
>
The code preceding this (on line 57) calls lists:nthtail, which returns a
list. Therefore the is_binary test on line 59 will always return false, so
the true branch will never be taken.
--steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20131114/6a76a8d9/attachment.htm>
More information about the erlang-questions
mailing list