Improve warnings related to type parameter bounds nullability
Explicitly supply the type parameter that needs to be non-nullified ^KT-36770 Relates
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
/main.kt:22:11: warning: type parameter 'V' has nullable upper bounds while non-nullable version is expected. This warning will become an error soon. See https://youtrack.jetbrains.com/issue/KT-36770 for details
|
||||
takeV(value)
|
||||
^
|
||||
/main.kt:23:15: warning: type parameter 'V' has nullable upper bounds while non-nullable version is expected. This warning will become an error soon. See https://youtrack.jetbrains.com/issue/KT-36770 for details
|
||||
takeVList(l)
|
||||
^
|
||||
/main.kt:25:11: warning: type parameter 'V' has nullable upper bounds while non-nullable version is expected. This warning will become an error soon. See https://youtrack.jetbrains.com/issue/KT-36770 for details
|
||||
takeE(value)
|
||||
^
|
||||
/main.kt:26:15: warning: type parameter 'V' has nullable upper bounds while non-nullable version is expected. This warning will become an error soon. See https://youtrack.jetbrains.com/issue/KT-36770 for details
|
||||
takeEList(l)
|
||||
^
|
||||
/main.kt:27:11: warning: type parameter 'V' has nullable upper bounds while non-nullable version is expected. This warning will become an error soon. See https://youtrack.jetbrains.com/issue/KT-36770 for details
|
||||
takeE(id(value))
|
||||
^
|
||||
Vendored
+1
@@ -1,5 +1,6 @@
|
||||
// !SKIP_JAVAC
|
||||
// !LANGUAGE: -ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// FILE: SLRUMap.java
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
Vendored
+1
@@ -1,5 +1,6 @@
|
||||
// !SKIP_JAVAC
|
||||
// !LANGUAGE: -ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// FILE: SLRUMap.java
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
/main.kt:23:5: warning: type parameter 'X' has nullable upper bound, so override has incorrect signature comparing with a base member with NotNull annotation. Please add a non-nullable upper bound (e.g. Any) to the type parameter. See https://kotlinlang.org/docs/generics.html#upper-bounds for more details
|
||||
override fun takeV(x: X)
|
||||
^
|
||||
/main.kt:24:5: warning: type parameter 'E1' has nullable upper bound, so override has incorrect signature comparing with a base member with NotNull annotation. Please add a non-nullable upper bound (e.g. Any) to the type parameter. See https://kotlinlang.org/docs/generics.html#upper-bounds for more details
|
||||
override fun <E1> takeE(e: E1)
|
||||
^
|
||||
/main.kt:26:5: warning: type parameter 'X' has nullable upper bound, so override has incorrect signature comparing with a base member with NotNull annotation. Please add a non-nullable upper bound (e.g. Any) to the type parameter. See https://kotlinlang.org/docs/generics.html#upper-bounds for more details
|
||||
override fun takeVList(l: List<X>)
|
||||
^
|
||||
/main.kt:27:5: warning: type parameter 'E2' has nullable upper bound, so override has incorrect signature comparing with a base member with NotNull annotation. Please add a non-nullable upper bound (e.g. Any) to the type parameter. See https://kotlinlang.org/docs/generics.html#upper-bounds for more details
|
||||
override fun <E2> takeEList(l2: List<E2>)
|
||||
^
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
// !SKIP_JAVAC
|
||||
// !LANGUAGE: -ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// FILE: SLRUMap.java
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
+5
-4
@@ -1,6 +1,7 @@
|
||||
// !SKIP_JAVAC
|
||||
// !LANGUAGE: -ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// FILE: SLRUMap.java
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -19,11 +20,11 @@ public interface SLRUMap<V> {
|
||||
// FILE: main.kt
|
||||
|
||||
interface Q1<X> : SLRUMap<X> {
|
||||
<!WRONG_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun takeV(x: X)
|
||||
<!WRONG_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun <E1> takeE(e: E1)
|
||||
<!WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE("X")!>override<!> fun takeV(x: X)
|
||||
<!WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE("E1")!>override<!> fun <E1> takeE(e: E1)
|
||||
|
||||
<!WRONG_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun takeVList(l: List<X>)
|
||||
<!WRONG_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun <E2> takeEList(l2: List<E2>)
|
||||
<!WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun takeVList(l: List<X>)
|
||||
<!WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun <E2> takeEList(l2: List<E2>)
|
||||
|
||||
override fun <K2> id(k2: K2): K2
|
||||
}
|
||||
|
||||
Vendored
+4
-4
@@ -18,11 +18,11 @@ public interface SLRUMap<V> {
|
||||
// FILE: main.kt
|
||||
|
||||
interface Q1<X> : SLRUMap<X> {
|
||||
<!WRONG_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun takeV(x: X)
|
||||
<!WRONG_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun <E1> takeE(e: E1)
|
||||
<!WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun takeV(x: X)
|
||||
<!WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun <E1> takeE(e: E1)
|
||||
|
||||
<!WRONG_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun takeVList(l: List<X>)
|
||||
<!WRONG_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun <E2> takeEList(l2: List<E2>)
|
||||
<!WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun takeVList(l: List<X>)
|
||||
<!WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE!>override<!> fun <E2> takeEList(l2: List<E2>)
|
||||
|
||||
override fun <K2> id(k2: K2): K2
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user