Support default inline lambda reification
This commit is contained in:
@@ -9,11 +9,11 @@ inline fun <reified T> inlineFun(p: String, lambda: () -> String = { { p + T::cl
|
||||
}
|
||||
|
||||
// FILE: 2.kt
|
||||
|
||||
//NO_CHECK_LAMBDA_INLINING
|
||||
import test.*
|
||||
|
||||
class K
|
||||
|
||||
fun box(): String {
|
||||
return inlineFun<OK>("O")
|
||||
return inlineFun<K>("O")
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ inline fun <reified T> inlineFun(p: String, crossinline lambda: () -> String = {
|
||||
|
||||
import test.*
|
||||
|
||||
class OK
|
||||
class K
|
||||
|
||||
fun box(): String {
|
||||
return inlineFun<OK>()
|
||||
return inlineFun<K>("O")
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ inline fun <reified T> inlineFun(lambda: () -> String = { { T::class.java.simple
|
||||
}
|
||||
|
||||
// FILE: 2.kt
|
||||
|
||||
//NO_CHECK_LAMBDA_INLINING
|
||||
import test.*
|
||||
|
||||
class OK
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
// FILE: 1.kt
|
||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||
//WITH_RUNTIME
|
||||
package test
|
||||
|
||||
class K
|
||||
|
||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
||||
inline fun <reified T> inlineFun(p: String, lambda: () -> String = { p + T::class.java.simpleName }): String {
|
||||
return lambda()
|
||||
}
|
||||
|
||||
inline fun <reified X> inlineFun2(p: String): String {
|
||||
return inlineFun<X>(p)
|
||||
}
|
||||
|
||||
// FILE: 2.kt
|
||||
|
||||
import test.*
|
||||
|
||||
fun box(): String {
|
||||
return inlineFun2<K>("O")
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// FILE: 1.kt
|
||||
// SKIP_INLINE_CHECK_IN: inlineFun$default
|
||||
//WITH_RUNTIME
|
||||
package test
|
||||
|
||||
class OK
|
||||
class FAIL
|
||||
|
||||
@Suppress("NOT_YET_SUPPORTED_IN_INLINE")
|
||||
inline fun <reified T> inlineFun(lambda: () -> String = { T::class.java.simpleName }): String {
|
||||
return lambda()
|
||||
}
|
||||
|
||||
inline fun <reified X> inlineFun2(): String {
|
||||
return inlineFun<X>()
|
||||
}
|
||||
|
||||
// FILE: 2.kt
|
||||
|
||||
import test.*
|
||||
|
||||
|
||||
|
||||
fun box(): String {
|
||||
return inlineFun2<OK>()
|
||||
}
|
||||
Reference in New Issue
Block a user