diff --git a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java index 58ad04155b8..0785679a3c6 100644 --- a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java @@ -1827,6 +1827,11 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest { runTest("compiler/testData/ir/irText/types/asOnPlatformType.kt"); } + @TestMetadata("coercionToUnitInLambdaReturnValue.kt") + public void testCoercionToUnitInLambdaReturnValue() throws Exception { + runTest("compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.kt"); + } + @TestMetadata("genericPropertyReferenceType.kt") public void testGenericPropertyReferenceType() throws Exception { runTest("compiler/testData/ir/irText/types/genericPropertyReferenceType.kt"); diff --git a/compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.fir.txt b/compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.fir.txt new file mode 100644 index 00000000000..3c0102af943 --- /dev/null +++ b/compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.fir.txt @@ -0,0 +1,12 @@ +FILE fqName: fileName:/coercionToUnitInLambdaReturnValue.kt + FUN name:use visibility:public modality:FINAL <> (fn:kotlin.Function0) returnType:kotlin.Unit + VALUE_PARAMETER name:fn index:0 type:kotlin.Function0 + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + CALL 'public final fun use (fn: kotlin.Function0): kotlin.Unit declared in ' type=kotlin.Unit origin=null + fn: FUN_EXPR type=kotlin.Function0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .test' + CONST Int type=kotlin.Int value=42 diff --git a/compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.kt b/compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.kt new file mode 100644 index 00000000000..e5b6883ae17 --- /dev/null +++ b/compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.kt @@ -0,0 +1,7 @@ +// !LANGUAGE: +NewInference + +fun use(fn: () -> Unit) {} + +fun test() { + use { 42 } +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.txt b/compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.txt new file mode 100644 index 00000000000..ba976e3b5e1 --- /dev/null +++ b/compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.txt @@ -0,0 +1,12 @@ +FILE fqName: fileName:/coercionToUnitInLambdaReturnValue.kt + FUN name:use visibility:public modality:FINAL <> (fn:kotlin.Function0) returnType:kotlin.Unit + VALUE_PARAMETER name:fn index:0 type:kotlin.Function0 + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + CALL 'public final fun use (fn: kotlin.Function0): kotlin.Unit declared in ' type=kotlin.Unit origin=null + fn: FUN_EXPR type=kotlin.Function0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CONST Int type=kotlin.Int value=42 diff --git a/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java b/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java index 6568c55a940..2bce2ea3043 100644 --- a/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java @@ -1826,6 +1826,11 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase { runTest("compiler/testData/ir/irText/types/asOnPlatformType.kt"); } + @TestMetadata("coercionToUnitInLambdaReturnValue.kt") + public void testCoercionToUnitInLambdaReturnValue() throws Exception { + runTest("compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.kt"); + } + @TestMetadata("genericPropertyReferenceType.kt") public void testGenericPropertyReferenceType() throws Exception { runTest("compiler/testData/ir/irText/types/genericPropertyReferenceType.kt");