Files
kotlin-fork/js/js.translator/testData/box/expression/cast/reifiedToNullable1.kt
T
2016-09-29 12:00:40 +03:00

20 lines
395 B
Kotlin
Vendored

package foo
interface A
class AImpl : A {}
inline
fun <reified T> test(x: Any?): T = x as T
fun box(): String {
var a: A? = AImpl()
assertEquals(a, test<A?>(a), "a = AImpl()")
a = object : A {}
assertEquals(a, test<A?>(a), "a = object : A{}")
assertEquals(null, test<A?>(null), "test(null)")
failsClassCast("test(object{})") { test<A?>(object{}) }
return "OK"
}