<div dir="ltr"><div><div><div><div>Dialyzer crashes when analysing a case clause with an empty map pattern when it is known that the pattern can never match.<br><br></div>Minimal example:<br><br></div></div>function(Tuple) when is_tuple(Tuple) -><br>
case Tuple of #{} -> ok end.<br><br></div>Result:<br><br>dialyzer: Analysis failed with error:<br>{{case_clause,#{}},<br> [{cerl_prettypr,lay_literal,2,[{file,"cerl_prettypr.erl"},{line,468}]},<br> {cerl_prettypr,lay_ann,2,[{file,"cerl_prettypr.erl"},{line,411}]},<br>
{cerl_prettypr,format,2,[{file,"cerl_prettypr.erl"},{line,271}]},<br> {dialyzer_dataflow,format_patterns,1,<br> [{file,"dialyzer_dataflow.erl"},{line,3351}]},<br> {dialyzer_dataflow,do_clause,6,[{file,"dialyzer_dataflow.erl"},{line,1245}]},<br>
{dialyzer_dataflow,handle_clauses,9,<br> [{file,"dialyzer_dataflow.erl"},{line,1177}]},<br> {dialyzer_dataflow,handle_case,3,<br> [{file,"dialyzer_dataflow.erl"},{line,936}]},<br>
{dialyzer_dataflow,do_clause,6,<br> [{file,"dialyzer_dataflow.erl"},{line,1372}]}]}<br><br></div>