diff --git a/compiler/testData/diagnostics/tests/inference/lambdaParameterTypeInElvis.fir.kt b/compiler/testData/diagnostics/tests/inference/lambdaParameterTypeInElvis.fir.kt new file mode 100644 index 00000000000..08cdc63c5a2 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/lambdaParameterTypeInElvis.fir.kt @@ -0,0 +1,14 @@ +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNREACHABLE_CODE + +interface Some { + fun method(): Unit +} + +fun elvis(nullable: S?, notNullable: S): S = TODO() + +fun Some.doWithPredicate(predicate: (R) -> Unit): R? = TODO() + +fun test(derived: Some) { + val expected: Some = derived.doWithPredicate { it.method() } ?: TODO() + val expected2: Some = elvis(derived.doWithPredicate { it.method() }, TODO()) +} diff --git a/compiler/testData/diagnostics/tests/inference/lambdaParameterTypeInElvis.kt b/compiler/testData/diagnostics/tests/inference/lambdaParameterTypeInElvis.kt index 5f15c280fb4..1c4ce614a63 100644 --- a/compiler/testData/diagnostics/tests/inference/lambdaParameterTypeInElvis.kt +++ b/compiler/testData/diagnostics/tests/inference/lambdaParameterTypeInElvis.kt @@ -1,4 +1,3 @@ -// FIR_IDENTICAL // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNREACHABLE_CODE interface Some {