Files
kotlin-fork/js/js.translator/testData/box/expression/cast/reifiedToNotNull.kt
T
2018-09-12 09:49:25 +03:00

23 lines
446 B
Kotlin
Vendored

// EXPECTED_REACHABLE_NODES: 1294
package foo
// CHECK_NOT_CALLED: test
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{}")
failsClassCast("test(null)") { test<A>(null) }
failsClassCast("test(object{})") { test<A>(object{}) }
return "OK"
}