package codegen.basics.unchecked_cast3 import kotlin.test.* @Test fun runTest() { testCast(TestKlass(), true) testCast(null, false) testCastToNullable(null, true) println("Ok") } class TestKlass fun ensure(b: Boolean) { if (!b) { println("Error") } } fun testCast(x: Any?, expectSuccess: Boolean) { try { x as T } catch (e: Throwable) { ensure(!expectSuccess) return } ensure(expectSuccess) } fun testCastToNullable(x: Any?, expectSuccess: Boolean) { try { x as T? } catch (e: Throwable) { ensure(!expectSuccess) return } ensure(expectSuccess) }