diff --git a/compiler/mono/src/ir.rs b/compiler/mono/src/ir.rs index 53a1abf009..a404660912 100644 --- a/compiler/mono/src/ir.rs +++ b/compiler/mono/src/ir.rs @@ -6197,13 +6197,22 @@ fn can_throw_exception(call: &Call) -> bool { } } } - fn build_call<'a>( env: &mut Env<'a, '_>, call: Call<'a>, assigned: Symbol, return_layout: Layout<'a>, hole: &'a Stmt<'a>, +) -> Stmt<'a> { + Stmt::Let(assigned, Expr::Call(call), return_layout, hole) +} + +fn build_call_old<'a>( + env: &mut Env<'a, '_>, + call: Call<'a>, + assigned: Symbol, + return_layout: Layout<'a>, + hole: &'a Stmt<'a>, ) -> Stmt<'a> { if can_throw_exception(&call) { let id = ExceptionId(env.unique_symbol()); diff --git a/compiler/test_mono/generated/somehow_drops_definitions.txt b/compiler/test_mono/generated/somehow_drops_definitions.txt index 1d512320fa..15ddbd26c6 100644 --- a/compiler/test_mono/generated/somehow_drops_definitions.txt +++ b/compiler/test_mono/generated/somehow_drops_definitions.txt @@ -1,23 +1,23 @@ procedure Num.24 (#Attr.2, #Attr.3): - let Test.25 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Test.25; + let Test.24 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Test.24; procedure Num.26 (#Attr.2, #Attr.3): let Test.19 = lowlevel NumMul #Attr.2 #Attr.3; ret Test.19; procedure Test.1 (): - let Test.27 = 1i64; - ret Test.27; + let Test.25 = 1i64; + ret Test.25; procedure Test.2 (): - let Test.21 = 2i64; - ret Test.21; + let Test.20 = 2i64; + ret Test.20; procedure Test.3 (Test.6): - let Test.24 = CallByName Test.1; - let Test.23 = CallByName Num.24 Test.6 Test.24; - ret Test.23; + let Test.23 = CallByName Test.1; + let Test.22 = CallByName Num.24 Test.6 Test.23; + ret Test.22; procedure Test.4 (Test.7): let Test.18 = CallByName Test.2; @@ -34,8 +34,8 @@ procedure Test.0 (): let Test.11 = CallByName Test.5 Test.12 Test.13; ret Test.11; in - let Test.22 = true; - if Test.22 then + let Test.21 = true; + if Test.21 then let Test.3 = Struct {}; jump Test.16 Test.3; else