Fix inference for lambdas with with extension function expected type

^KT-49832 Fixed
^KT-49836 Fixed
This commit is contained in:
Denis.Zharkov
2021-11-23 10:25:07 +03:00
committed by teamcityserver
parent 3fb17cfa9a
commit 0d9ad62d4a
16 changed files with 320 additions and 16 deletions
@@ -0,0 +1,22 @@
// !LANGUAGE: +ConsiderExtensionReceiverFromConstrainsInLambda
// FIR_IDENTICAL
// SKIP_TXT
typealias A = CharSequence.(Int) -> Unit
var w: Int = 1
fun myPrint(x: Int) {}
fun <T> select(vararg x: T) = x[0]
val a1: A = select(
{ a: Int -> myPrint(a + this.length + 1) },
{ a: Int -> myPrint(a + this.length + 2) }
)
val a2 = select(
{ a: Int -> myPrint(a + this.length + 1) },
fun CharSequence.(a: Int) { myPrint(a + this.length + 2) },
{ a: Int -> myPrint(a + this.length + 3) }
)