Files
kotlin-fork/compiler/testData/diagnostics/tests/inference/regressions/kt3038.kt
T

22 lines
669 B
Kotlin
Vendored

//KT-3038 Wrong type inference for enum entry
package a
enum class TestEnum {
FIRST,
SECOND
}
fun <T> inferenceTest(a: T) : T = a
fun hello() {
var enumElemFirst = <!VARIABLE_WITH_REDUNDANT_INITIALIZER!>inferenceTest(TestEnum.FIRST)<!>
enumElemFirst = TestEnum.SECOND // Type mismatch: inferred type is testDebug.TestEnum.<class-object-for-TestEnum>.SECOND but testDebug.TestEnum.<class-object-for-TestEnum>.FIRST was expected
var enumElemSecond : TestEnum = <!VARIABLE_WITH_REDUNDANT_INITIALIZER!>inferenceTest(TestEnum.FIRST)<!>
enumElemSecond = TestEnum.SECOND // Ok
use(enumElemFirst, enumElemSecond)
}
fun use(vararg a: Any?) = a