Closed
Description
Describe the bug
Running erlc
on the following code:
-export([start/0]).
f1() ->
f6(catch (true = ok), -0.0).
f3() ->
f6(ok, 0.0).
f6(_, _) ->
ok.
start() ->
f1(),
f3(),
f6(ok, ok).
Results in the following error:
test745_mini:1: function f1/0+12:
Internal consistency check failed - please report this bug.
Instruction: {call_last,2,{f,8},1}
Error: {bad_arg_type,{x,1},
{t_float,{-0.0,-0.0}},
{t_union,{t_atom,[ok]},
none,
{t_float,{0.0,0.0}},
none,none}}:
Affected versions
master
Additional context
It looks possibly related to #7168 and the OTP 27 change that will make +0.0 =:= -0.0
return false.