Files
kotlin-fork/compiler/testData/codegen/boxInline/reified/checkCast/kt8043.kt
T
2018-06-28 12:26:41 +02:00

28 lines
419 B
Kotlin
Vendored

// IGNORE_BACKEND: JVM_IR
// FILE: 1.kt
// WITH_RUNTIME
package test
inline fun <reified T, reified R>T.castTo(): R = this as R
// FILE: 2.kt
import test.*
fun case1(): Int =
null.castTo<Int?, Int>()
fun box(): String {
failTypeCast { case1(); return "failTypeCast 9" }
return "OK"
}
inline fun failTypeCast(s: () -> Unit) {
try {
s()
}
catch (e: TypeCastException) {
}
}