Hi guys,<div><br></div><div>I am going through adding typing to my functions and getting dialyzer to verify everything, which is all working very nicely, apart from one minor grievance:</div><div><br></div><div>There are two places where I use the ?assert macro, and I believe dialyzer is giving me spurious warnings on these lines:</div>
<div>
<p> interpretAction({implies, A, C, true}) -> ?assert(xl_string:impliesString(A,C));</p>
<p> interpretAction({implies, A, C, false}) -> ?assert(not xl_string:impliesString(A,C));</p>
<div><br></div><div>These generate the warnings:</div><div><br></div><div><div> xl.erl:286: The variable _ can never match since previous clauses completely covered the type 'false'</div><div> xl.erl:287: The variable _ can never match since previous clauses completely covered the type 'false'</div>
</div><div><br></div><div>I think these are problems with the macro and not with my code. Does anybody have any info on this?</div></div><div><br></div><div>I also found this post on the internet, where somebody else seems to have a similar problem:</div>
<div><br></div><div><a href="http://erlang.2086793.n4.nabble.com/Eunit-assert-causes-Dialyzer-warning-td2252010.html" target="_blank">http://erlang.2086793.n4.nabble.com/Eunit-assert-causes-Dialyzer-warning-td2252010.html</a></div>
<div><br>
</div><div>Any help much appreciated</div><div><br></div><div>thanks, </div><div>Richard</div>