diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java
index 8b15add..ddbcee5 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenWithIrInlinerTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenWithIrInlinerTestGenerated.java
index c08a340..94e5374 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenWithIrInlinerTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenWithIrInlinerTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java
index bd0d56c..5c34985 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java
index e28faa6..ed29784 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxInlineCodegenWithIrInlinerTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxInlineCodegenWithIrInlinerTestGenerated.java
index b43e6e2..565c130 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxInlineCodegenWithIrInlinerTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxInlineCodegenWithIrInlinerTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java
index f8dde6c..bbcb532 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt
index dc1be1b..b34e1fc 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt
@@ -1059,7 +1059,7 @@
             proto.addValueParameter(serializeIrValueParameter(it))
         }
 
-        if (!bodiesOnlyForInlines || function.isInline) {
+        if (!bodiesOnlyForInlines || function.isInline || function.parents.any { it is IrFunction && it.isInline }) {
             function.body?.let { proto.body = serializeIrStatementBody(it) }
         }
 
diff --git a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt
index 224a6fc..a061b9b 100644
--- a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt
+++ b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt
@@ -20,6 +20,7 @@
 import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
 import org.jetbrains.kotlin.ir.declarations.IrClass
 import org.jetbrains.kotlin.ir.declarations.IrDeclaration
+import org.jetbrains.kotlin.ir.declarations.IrDeclarationContainer
 import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl
 import org.jetbrains.kotlin.ir.declarations.lazy.LazyIrFactory
 import org.jetbrains.kotlin.ir.linkage.IrProvider
@@ -91,7 +92,23 @@
         internationService = internationService
     )
     for (declarationProto in irProto.declarationList) {
-        deserializer.deserializeDeclaration(declarationProto, setParent = false)
+        val declaration = deserializer.deserializeDeclaration(declarationProto, setParent = false)
+        val parent = try {
+            declaration.parent
+        } catch (_: UninitializedPropertyAccessException) {
+            // If declaration.parent has a parent by itself, then such a parent is its inner class parent
+            // If it does not, then it is a function in toplevelParent not knowing about it...
+            //
+            // We have no other way to check whether parent was set or not.
+            declaration.parent = toplevelParent
+            declaration.parent
+        }
+
+        check(parent is IrDeclarationContainer) { "parent is not a declaration container" }
+
+        if (declaration !in parent.declarations) {
+            parent.declarations += declaration
+        }
     }
 
     symbolTable.signaturer.withFileSignature(dummyFileSignature) {
diff --git a/compiler/testData/codegen/boxInline/simple/kt56710.kt b/compiler/testData/codegen/boxInline/simple/kt56710.kt
new file mode 100644
index 0000000..6d64adb
--- /dev/null
+++ b/compiler/testData/codegen/boxInline/simple/kt56710.kt
@@ -0,0 +1,11 @@
+// ENABLE_JVM_IR_INLINER
+// MODULE: lib
+// FILE: 1.kt
+
+fun funWithLambda(doSomething: () -> String): String = doSomething()
+
+inline fun nestedFunWithLambda(): String = funWithLambda { "OK" }
+
+// MODULE: main(lib)
+// FILE: 2.kt
+fun box(): String = nestedFunWithLambda()
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java
index 48d6096..bef9881 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java
@@ -4453,6 +4453,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java
index aab1c36..15315ad 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java
@@ -4453,6 +4453,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java
index 50d11fc..7b4495d 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenWithBytecodeInlinerTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenWithIrInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenWithIrInlinerTestGenerated.java
index e1bd310..ace1084 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenWithIrInlinerTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenWithIrInlinerTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java
index aa587c5..9927920 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java
index c736040..a003fbd 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt-.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java
index 973745d..b5c3cb1 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java
@@ -4531,6 +4531,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java
index 88dd56f..bb00665 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java
@@ -4453,6 +4453,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenInlineTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenInlineTestGenerated.java
index bfe052f1..db0da62 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenInlineTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenInlineTestGenerated.java
@@ -3847,6 +3847,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenInlineTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenInlineTestGenerated.java
index 9110b226..9785257 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenInlineTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenInlineTestGenerated.java
@@ -3847,6 +3847,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenInlineTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenInlineTestGenerated.java
index a255516..09a0cb7 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenInlineTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenInlineTestGenerated.java
@@ -3847,6 +3847,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenInlineTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenInlineTestGenerated.java
index 2dcc15e..be1c3dd 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenInlineTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenInlineTestGenerated.java
@@ -3847,6 +3847,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java
index fe091f7..3ca25a1 100644
--- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java
+++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java
@@ -45962,6 +45962,12 @@
             }
 
             @Test
+            @TestMetadata("kt56710.kt")
+            public void testKt56710() throws Exception {
+                runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+            }
+
+            @Test
             @TestMetadata("params.kt")
             public void testParams() throws Exception {
                 runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java
index 1b12bfc..825b051 100644
--- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java
+++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java
@@ -47168,6 +47168,12 @@
             }
 
             @Test
+            @TestMetadata("kt56710.kt")
+            public void testKt56710() throws Exception {
+                runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+            }
+
+            @Test
             @TestMetadata("params.kt")
             public void testParams() throws Exception {
                 runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java
index 98ad02c..d7d5155 100644
--- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java
+++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java
@@ -44756,6 +44756,12 @@
             }
 
             @Test
+            @TestMetadata("kt56710.kt")
+            public void testKt56710() throws Exception {
+                runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+            }
+
+            @Test
             @TestMetadata("params.kt")
             public void testParams() throws Exception {
                 runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java
index 9263188..b911242 100644
--- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java
+++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java
@@ -45963,6 +45963,12 @@
             }
 
             @Test
+            @TestMetadata("kt56710.kt")
+            public void testKt56710() throws Exception {
+                runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+            }
+
+            @Test
             @TestMetadata("params.kt")
             public void testParams() throws Exception {
                 runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxInlineTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxInlineTestGenerated.java
index 8cfedf9..f8a0da3 100644
--- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxInlineTestGenerated.java
+++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxInlineTestGenerated.java
@@ -3847,6 +3847,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxInlineTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxInlineTestGenerated.java
index 7cb2a33..9771f8b 100644
--- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxInlineTestGenerated.java
+++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxInlineTestGenerated.java
@@ -3847,6 +3847,12 @@
         }
 
         @Test
+        @TestMetadata("kt56710.kt")
+        public void testKt56710() throws Exception {
+            runTest("compiler/testData/codegen/boxInline/simple/kt56710.kt");
+        }
+
+        @Test
         @TestMetadata("params.kt")
         public void testParams() throws Exception {
             runTest("compiler/testData/codegen/boxInline/simple/params.kt");
