[erlang-questions] dialyzer: user-defined types just synonyms?
Dmitry Belyaev
rumata-estor@REDACTED
Fri Apr 23 10:10:48 CEST 2010
So it will warn only if the code will always fail, but will not if it
just _may_ fail. And this behaviour is what it was made for.
I see, thank you.
Tobias Lindahl wrote:
> 2010/4/22 Dmitry Belyaev <rumata-estor@REDACTED>:
>
>> Good point about unused=untested.
>> Ok, but what about the other problem?
>> http://pastebin.com/q7muyTnz
>>
>> There must be warning on line 9. I get nothing with R13b4.
>>
>
> The return type for get_atom is 'bad' | 'good'.
>
> The analysis is not strong enough to find that the call at line 7 is
> returning 'bad', so when the return value is used in the call on line
> 9, Dialyzer finds that the intersection between the argument type and
> the success typing is 'good' which means that the call can succeed and
> no warning is emitted.
>
> The behavior is correct, but one could always whish that the analysis
> was stronger. Remember that Dialyzer is conservative in its warnings.
> It will only warn when it can find that something definitely goes
> wrong.
>
> Tobias
>
> Tobias
>
>
More information about the erlang-questions
mailing list