Closed
Description
On master, running dialyzer on the following code:
-module(dialyzer_fail).
f(<<X:[]>>) ->
{}.
causes the following crash:
dialyzer: Analysis failed with error:
{{case_clause,[]},
[{cerl,bitstr_bitsize,1,[{file,"cerl.erl"},{line,2388}]},
{dialyzer_typesig,traverse,3,[{file,"dialyzer_typesig.erl"},{line,259}]},
{dialyzer_typesig,traverse_list,4,
[{file,"dialyzer_typesig.erl"},{line,628}]},
{dialyzer_typesig,traverse,3,[{file,"dialyzer_typesig.erl"},{line,245}]},
{dialyzer_typesig,traverse_list,4,
[{file,"dialyzer_typesig.erl"},{line,628}]},
{dialyzer_typesig,handle_clauses_1,7,
[{file,"dialyzer_typesig.erl"},{line,865}]},
{dialyzer_typesig,handle_clauses,5,
[{file,"dialyzer_typesig.erl"},{line,838}]},
{dialyzer_typesig,traverse,3,[{file,"dialyzer_typesig.erl"},{line,356}]}]}
I don't know whether this is considered a bug, or whether dialyzer is allowed to crash on code like that. I'll note that erlc shows warnings on that code, but successfully compiles it.