1bbcae5ed2
We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier ^KT-54890 ^KTIJ-23587 fixed
24 lines
691 B
Kotlin
Vendored
24 lines
691 B
Kotlin
Vendored
// FIR_IDENTICAL
|
|
open class GenericBaseClass<T> {
|
|
open fun foo(x: T): T = x
|
|
}
|
|
|
|
interface GenericBaseInterface<T> {
|
|
fun bar(x: T): T = x
|
|
}
|
|
|
|
class GenericDerivedClass<T> : GenericBaseClass<T>(), GenericBaseInterface<T> {
|
|
override fun foo(x: T): T = super.foo(x)
|
|
override fun bar(x: T): T = super.bar(x)
|
|
}
|
|
|
|
class SpecializedDerivedClass : GenericBaseClass<Int>(), GenericBaseInterface<String> {
|
|
override fun foo(x: Int): Int = super.foo(x)
|
|
override fun bar(x: String): String = super.bar(x)
|
|
}
|
|
|
|
class MixedDerivedClass<T> : GenericBaseClass<Int>(), GenericBaseInterface<T> {
|
|
override fun foo(x: Int): Int = super.foo(x)
|
|
override fun bar(x: T): T = super.bar(x)
|
|
}
|