<div dir="ltr"><font><font>Any update regarding this?</font></font><br><br><div class="gmail_quote"></div><div dir="ltr"><div class="gmail_quote"><font><font>On Thu, Apr 9, 2015 at 5:21 PM Ali Sabil <</font></font><a href="mailto:ali.sabil@gmail.com" target="_blank"><font><font>ali.sabil@gmail.com</font></font></a><font><font>> wrote:</font></font><br></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><font><font><font><font class="">Sorry for the late reply, I finally managed to get a minimal test case that reproduces the bug in 17.5:</font></font></font></font></div><div><br></div><div><font><font><font><font>-module(sum).</font></font></font></font></div><div><font><font><font><font>-export([</font></font></font></font></div><div><span style="white-space:pre-wrap"> </span><font><font><font><font>test/1</font></font></font></font></div><div><font><font><font><font>]).</font></font></font></font></div><div><br></div><div><font><font><font><font>-spec test(#{atom() => term()}) -> integer().</font></font></font></font></div><div><font><font><font><font>test(Data) -></font></font></font></font></div><div><span style="white-space:pre-wrap">       </span><font><font><font><font>maps:fold(fun</font></font></font></font></div><div><span style="white-space:pre-wrap">                </span><font><font><font><font>(_Key, Value, Acc) when is_integer(Value) -></font></font></font></font></div><div><span style="white-space:pre-wrap">                      </span><font><font><font><font>Acc + Value;</font></font></font></font></div><div><span style="white-space:pre-wrap">         </span><font><font><font><font>(_Key, _Value, Acc) -></font></font></font></font></div><div><span style="white-space:pre-wrap">                    </span><font><font><font><font>Acc</font></font></font></font></div><div><span style="white-space:pre-wrap">  </span><font><font><font><font>end, 0, Data).</font></font></font></font></div><div><br></div><div><br></div><div><font><font><font><font>I don't know if this is the correct fix, but this makes dialyzer work again:</font></font></font></font></div><div><br></div><div><div><font><font><font><font>diff --git a/lib/hipe/cerl/erl_types.erl b/lib/hipe/cerl/erl_types.erl</font></font></font></font></div><div><font><font><font><font>index 4215448..bb4c1c1 100644</font></font></font></font></div><div><font><font><font><font>--- a/lib/hipe/cerl/erl_types.erl</font></font></font></font></div><div><font><font><font><font>+++ b/lib/hipe/cerl/erl_types.erl</font></font></font></font></div><div><font><font><font><font>@@ -4594,6 +4594,8 @@ t_form_to_string({type, _L, list, [Type]}) -></font></font></font></font></div><div><font><font><font><font>   "[" ++ t_form_to_string(Type) ++ "]";</font></font></font></font></div><div><font><font><font><font> t_form_to_string({type, _L, map, Args}) when not is_list(Args) -></font></font></font></font></div><div><font><font><font><font>   "#{}";</font></font></font></font></div><div><font><font><font><font>+t_form_to_string({type, _L, map_field_assoc, Key, Value}) -></font></font></font></font></div><div><font><font><font><font>+  "#{" ++ t_form_to_string(Key) ++ "=>" ++ t_form_to_string(Value) ++ "}";</font></font></font></font></div><div><font><font><font><font> t_form_to_string({type, _L, mfa, []}) -> "mfa()";</font></font></font></font></div><div><font><font><font><font> t_form_to_string({type, _L, module, []}) -> "module()";</font></font></font></font></div><div><font><font><font><font> t_form_to_string({type, _L, node, []}) -> "node()";</font></font></font></font></div></div><div><br></div><div><font><font><font><font>Thanks,</font></font></font></font></div></div></blockquote></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><font><font>Are</font></font></div></div><br><div class="gmail_quote"></div></blockquote></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><font><font><font><font>On Tue, Apr 7, 2015 at 2:31 PM Björn-Egil Dahlberg <</font></font></font></font><a href="mailto:wallentin.dahlberg@gmail.com" target="_blank"><font><font><font><font>wallentin.dahlberg@gmail.com</font></font></font></font></a><font><font><font><font>> wrote:</font></font></font></font><br></div></blockquote></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><font><font><font><font>Again - could you provide me with a sample code .. or at least some sort of a clue to what you are dialyzing?</font></font></font></font></div><div class="gmail_extra"><br><div class="gmail_quote"></div></div><div class="gmail_extra"><div class="gmail_quote"><font><font><font><font>2015-04-07 14:05 GMT+02:00 Ali Sabil </font></font></font></font><span dir="ltr"><font><font><font><font><</font></font></font></font><a href="mailto:ali.sabil@gmail.com" target="_blank"><font><font><font><font>ali.sabil@gmail.com</font></font></font></font></a><font><font><font><font>></font></font></font></font></span><font><font><font><font>:</font></font></font></font><br></div></div></blockquote></div></blockquote></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><font><font><font><font>Hi again,</font></font></font><font><font><font>Running dialyzer shipped with 17.5 on the same code base leads now to the following error (17.4 works without any errors):</font></font></font></font></div></blockquote></div></div></blockquote></div></blockquote></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><br><font></font><div><br></div><div><div><font><font><font><font>===> Error in dialyzing apps: Analysis failed with error:</font></font></font></font></div><div><font><font><font><font>{function_clause,[{erl_types,t</font></font></font></font><font><font><font><font>_form_to_string,</font></font></font></font></div><div><font><font><font><font>                             [{type,36,map_field_assoc,</font></font></font></font></div><div><font><font><font><font>                                    {type,36,atom,[]},</font></font></font></font></div><div><font><font><font><font>                                    {type,36,term,[]}}],</font></font></font></font></div><div><font><font><font><font>                             [{file,"erl_types.erl"},{line</font></font></font></font><font><font><font><font>,4546}]},</font></font></font></font></div><div><font><font><font><font>                  {erl_types,t_form_to_string_li</font></font></font></font><font><font><font><font>st,2,</font></font></font></font></div><div><font><font><font><font>                             [{file,"erl_types.erl"},{line</font></font></font></font><font><font><font><font>,4637}]},</font></font></font></font></div><div><font><font><font><font>                  {erl_types,t_form_to_string,1,</font></font></font></font></div><div><font><font><font><font>                             [{file,"erl_types.erl"},{line</font></font></font></font><font><font><font><font>,4634}]},</font></font></font></font></div><div><font><font><font><font>                  {erl_types,t_form_to_string_li</font></font></font></font><font><font><font><font>st,2,</font></font></font></font></div><div><font><font><font><font>                             [{file,"erl_types.erl"},{line</font></font></font></font><font><font><font><font>,4637}]},</font></font></font></font></div><div><font><font><font><font>                  {erl_types,t_form_to_string,1,</font></font></font></font></div><div><font><font><font><font>                             [{file,"erl_types.erl"},{line</font></font></font></font><font><font><font><font>,4634}]},</font></font></font></font></div><div><font><font><font><font>                  {dialyzer_contracts,contract_t</font></font></font></font><font><font><font><font>o_string_1,1,</font></font></font></font></div><div><font><font><font><font>                                      [{file,"dialyzer_contracts.erl</font></font></font></font><font><font><font><font>"},</font></font></font></font></div><div><font><font><font><font>                                       {line,107}]},</font></font></font></font></div><div><font><font><font><font>                  {dialyzer_contracts,extra_cont</font></font></font></font><font><font><font><font>ract_warning,6,</font></font></font></font></div><div><font><font><font><font>                                      [{file,"dialyzer_contracts.erl</font></font></font></font><font><font><font><font>"},</font></font></font></font></div><div><font><font><font><font>                                       {line,712}]},</font></font></font></font></div><div><font><font><font><font>                  {dialyzer_contracts,picky_cont</font></font></font></font><font><font><font><font>ract_check,7,</font></font></font></font></div><div><font><font><font><font>                                      [{file,"dialyzer_contracts.erl</font></font></font></font><font><font><font><font>"},</font></font></font></font></div><div><font><font><font><font>                                       {line,686}]}]}</font></font></font></font></div><span><div><font><font><font><font>Last messages in the log cache:</font></font></font></font></div></span><div><font><font><font><font>  Reading files and computing callgraph... done in 1.21 secs</font></font></font></font></div><div><font><font><font><font>  Removing edges... done in 0.04 secs</font></font></font></font></div></div><div><br></div></div></blockquote></div></div></blockquote></div></blockquote></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><br><div class="gmail_quote"><font><font><font><font>On Wed, Mar 18, 2015 at 12:12 PM Björn-Egil Dahlberg <</font></font></font></font><a href="mailto:egil@erlang.org" target="_blank"><font><font><font><font>egil@erlang.org</font></font></font></font></a><font><font><font><font>> wrote:</font></font></font></font><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><font><font><font><font>On 2015-03-18 12:01, Ali Sabil wrote:</font></font></font></font><br><font><font><font><font>
> I tried to create a minimal testcase but I unfortunately haven't been</font></font></font></font><br><font><font><font><font>
> able to. I was running dialyzer on a quite large code base and now</font></font></font></font><br><font><font><font><font>
> even the unpatched dialyzer works without any issue after I fixed all</font></font></font></font><br><font><font><font><font>
> the issues reported by dialyzer.</font></font></font><font><font><font>
Ah, well .. I suspect it was the missing clause in find_terminals and I</font></font></font><font><font><font>
had it on a TODO somewhere. Should be included to 17.5.</font></font></font><font><font><font>
// Björn-Egil</font></font></font></font><br>
<br><font></font><br><font></font><br>
<br><font></font><br>
</blockquote></div>
</div></div><br></blockquote></div></div></blockquote></div></blockquote></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><font><font>______________________________</font></font><font><font>_________________</font></font><br><font><font>
erlang-questions mailing list</font><a href="mailto:erlang-questions@erlang.org" target="_blank"><font>erlang-questions@erlang.org</font></a><a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank"><font>http://erlang.org/mailman/list</font></a><a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank"><font>info/erlang-questions</font></a></font><br>
<a href="mailto:erlang-questions@erlang.org" target="_blank"><font></font></a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank"><font></font><font></font></a><br>
<br></blockquote></div></div></blockquote></div></blockquote></div></div></div>