81414d758d
This commit changes the behavior of KT-59138 effectively declining it in 2.0. However, we plan to implement KT-59138 behavior under a feature flag in 2.0 (see KT-66447), and switch this feature on version 2.x. Also, this commit implements the LC resolution about postponing KT-57014 change. We don't have KT-57014 described behavior in 2.0 anymore. However, we plan to implement a deprecation warning here, see KT-65578. After this commit, 6 diagnostic tests become incorrectly broken: - 5 tests from PurelyImplementedCollection group - a test platformTypes/nullableTypeArgument.kt This commit also breaks currently fixed-in-k2 KT-50134 (it is fixed again in the following commits), as well as KT-58933 (it will remain not fixed till we enable KT-59138 behavior again). #KT-65596 In Progress #KT-57014 In Progress #KT-58933 Submitted
44 lines
1.0 KiB
Kotlin
Vendored
44 lines
1.0 KiB
Kotlin
Vendored
// FIR_IDENTICAL
|
|
// !LANGUAGE: +DefinitelyNonNullableTypes +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
|
|
|
// FILE: A.java
|
|
import org.jetbrains.annotations.*;
|
|
|
|
public interface A<T> {
|
|
public T foo(T x) { return x; }
|
|
@NotNull
|
|
public T bar(@NotNull T x) {}
|
|
}
|
|
|
|
// FILE: main.kt
|
|
|
|
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
|
|
}
|