Support bound callable reference inlining in IR

This commit is contained in:
Mikhael Bogdanov
2019-05-28 15:44:51 +02:00
parent 3c093f321d
commit 81e6416bfe
28 changed files with 461 additions and 180 deletions
@@ -0,0 +1,18 @@
// FILE: 1.kt
package test
class Foo<T> {
inner class Inner<P>(val a: T, val b: P)
}
inline fun <A, B> foo(a: A, b: B, x: (A, B) -> Foo<A>.Inner<B>): Foo<A>.Inner<B> = x(a, b)
// FILE: 2.kt
import test.*
fun box(): String {
val z = Foo<String>()
val foo = foo("O", "K", z::Inner)
return foo.a + foo.b
}