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
38 lines
879 B
Kotlin
Vendored
38 lines
879 B
Kotlin
Vendored
// FIR_IDENTICAL
|
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
|
|
|
interface A<T> {
|
|
fun foo(x: T): T
|
|
fun bar(x: T & Any): T & Any
|
|
}
|
|
|
|
interface B<T1> : A<T1> {
|
|
override fun foo(x: T1): T1
|
|
override fun bar(x: T1 & Any): T1 & Any
|
|
}
|
|
|
|
interface C<T2> : A<T2> {
|
|
<!NOTHING_TO_OVERRIDE!>override<!> fun foo(x: T2 & Any): T2 & Any
|
|
<!NOTHING_TO_OVERRIDE!>override<!> fun bar(x: T2): T2
|
|
}
|
|
|
|
interface D : A<String?> {
|
|
override fun foo(x: String?): String?
|
|
override fun bar(x: String): String
|
|
}
|
|
|
|
interface E : A<String> {
|
|
override fun foo(x: String): String
|
|
override fun bar(x: String): String
|
|
}
|
|
|
|
interface F : A<String?> {
|
|
<!NOTHING_TO_OVERRIDE!>override<!> fun foo(x: String): String
|
|
<!NOTHING_TO_OVERRIDE!>override<!> fun bar(x: String?): String?
|
|
}
|
|
|
|
interface G<T3 : Any> : A<T3> {
|
|
override fun foo(x: T3): T3
|
|
override fun bar(x: T3): T3
|
|
}
|