<div dir="ltr">Hi James,<div><br></div><div>it seems that the fix for this is quite trivial and requires modified modules to also be purged from an old PLT. The real issue is to create a test for this in Dialyzer's test suites. I have cc'd Hans Bolinder (Dialyzer's expert from the OTP team) and will probably take this offline.</div><div><br></div><div><a href="https://github.com/aronisstav/otp/commit/7df1d8fbe66c12539e3d36c0bb74b61e846815a3">https://github.com/aronisstav/otp/commit/7df1d8fbe66c12539e3d36c0bb74b61e846815a3</a><br></div><div><br></div><div>Thanks for the report!</div><div><br></div><div>Stavros</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 13, 2015 at 12:56 AM, James Fish <span dir="ltr"><<a href="mailto:james@fishcakez.com" target="_blank">james@fishcakez.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div>Hi,<br><br></div>If a function is removed from a module and the module has previously been added to a PLT, the function will not be removed from PLT when the PLT is checked. This results in dialyzer failing to produce a callgraph warning when doing success typings analysis if the remove function is still called in another module<br><br></div>As the function is not removed from the PLT a prior warning, such as a contract types warning, might be emitted when the removed function nolonger exists.<br><br></div>I have attached an archive with a minimal example, which prints a contract types warning instead of a callgraph warning. This example has been tested on OTP R15B03 and 17.4.<br><br></div>Regards,<br><br></div>James<br></div>
<br>_______________________________________________<br>
erlang-bugs mailing list<br>
<a href="mailto:erlang-bugs@erlang.org">erlang-bugs@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-bugs" target="_blank">http://erlang.org/mailman/listinfo/erlang-bugs</a><br>
<br></blockquote></div><br></div>