Files
kotlin-fork/compiler/testData/diagnostics/tests/cast/UselessSafeCast.fir.kt
T
Ivan Kochurkin d50c6f1b6d [FIR] Fix missing USELESS_CAST
`FirUselessTypeOperationCallChecker` always checks exact types matching for `as` operator

Simplify code of cast checker and utils

^KT-56629 Fixed
^KT-56615 Fixed
^KT-59820 Fixed
2023-10-24 20:59:56 +00:00

23 lines
534 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_VARIABLE
fun test(x: Int?) {
val a1 = x <!USELESS_CAST!>as? Int<!>
val a2 = x <!USELESS_CAST!>as? Int?<!>
val a3 = x as? Number
val a4 = x as? Number?
val a5: Int? = x <!USELESS_CAST!>as? Int<!>
val a6: Number? = x <!USELESS_CAST!>as? Int<!>
val a7: Number? = 1 as? Number
run { x <!USELESS_CAST!>as? Int<!> }
run { x as? Number }
foo(x as? Number)
if (x is Int) {
val b = x <!USELESS_CAST!>as? Int<!>
}
}
fun foo(x: Number?) {}