[erlang-bugs] illegal declaration of pertially defined record types in dialyzer, R14A
Kostis Sagonas
kostis@REDACTED
Thu Sep 16 09:11:10 CEST 2010
Nico Kruber wrote:
> here's the other bug I originally intendet to report:
>
> I declare a remote type rec1:rec1() in the rec1 module,
> a record rec2 in module rec2 along with a rec2:rec2() type.
>
> If I use the rec2:rec2() type in a third module, i.e. rec3, dialyzer reports
> an illegal declaration of rec2#{id}:
>
> ------------------------
>> dialyzer -Werror_handling -Wrace_conditions --src -c rec*.erl --no_native
> Checking whether the PLT /home/nico/.dialyzer_plt is up-to-date... yes
> Proceeding with analysis...
> dialyzer: Analysis failed with error: Illegal declaration of rec2#{id}
>
> Last messages in the log cache:
> Reading files and computing callgraph... done in 0.06 secs
> Removing edges... done in 0.01 secs
> ------------------------
This problem has now been fixed (thanks to Maria Christakis). The fix
appears here:
http://github.com/kostis/otp/commit/544b05dc65606fcbfb46c2df69026c28f4ab2117
and will hopefully be included in OTP at some point.
Kostis
More information about the erlang-bugs
mailing list