blob: 6f43d0c7fb2b0c8f5bf93c9926a93131f00efb87 [file]
// FILE: lib.kt
package foo
import kotlin.test.*
inline fun <reified T> Any.canBeCastedTo(): Boolean = this is T
// FILE: main.kt
package foo
import kotlin.test.*
// CHECK_NOT_CALLED: canBeCastedTo
open class A
class B
class C : A()
fun box(): String {
assertEquals(true, A().canBeCastedTo<A>(), "A().canBeCastedTo<A>()")
assertEquals(false, A().canBeCastedTo<B>(), "A().canBeCastedTo<B>()")
assertEquals(true, C().canBeCastedTo<A>(), "C().canBeCastedTo<A>()")
return "OK"
}