[erlang-bugs] scarce dialyzer message "illegal declaration of..." with records

Samuel samuelrivas@REDACTED
Sun Nov 20 23:56:56 CET 2011


Hello,

If you run dialyzer in the attached file it will fail with next message:

Analysis failed with error: Illegal declaration of #state{parent}

In the example the problem is pretty obvious, there is a mismatch
between the declared type of the 'parent' field and the function
specification. However in a larger example I found it very hard to
spot. Even worse, if dialyzer is analysing a list of modules it
wouldn't say what module caused the error. (Actually, I ran a very
boring 'shrinking' binary process of deleting code sections until I
found the cause of the error, which happened to be a type annotation
generated by typer before I started refining the specs).

I saw a couple other mails related to illegal declarations but they
both were issues with polymorphic types, so I guess this is something
different.

Regards
-- 
Samuel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.erl
Type: text/x-erlang
Size: 123 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20111120/422432c0/attachment.bin>


More information about the erlang-bugs mailing list