Files
kotlin-fork/nj2k/testData/newJ2k/nullability/notNullCast.kt
T
2019-04-03 11:24:19 +03:00

29 lines
757 B
Kotlin
Vendored

// ERROR: Type mismatch: inferred type is Passenger.PassChild? but Passenger.PassChild was expected
// ERROR: Type mismatch: inferred type is Passenger.PassChild? but Passenger.PassChild was expected
class Passenger {
open class PassParent
class PassChild : PassParent()
fun provideNullable(p: Int): PassParent? {
return if (p > 0) PassChild() else null
}
fun test1() {
val pass = provideNullable(1)!!
accept1(pass as PassChild)
}
fun test2() {
val pass = provideNullable(1)
if (1 == 2) {
assert(pass != null)
accept2(pass as PassChild?)
}
accept2(pass as PassChild?)
}
fun accept1(p: PassChild?) {}
fun accept2(p: PassChild?) {}
}