Enable ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated since 1.7

^KT-36770 Fixed
This commit is contained in:
Denis.Zharkov
2021-08-11 17:43:49 +03:00
committed by teamcityserver
parent d91155558b
commit 4a9d4ed9fe
60 changed files with 139 additions and 140 deletions
@@ -1,34 +1,34 @@
fun valuesNotNull(map: MutableMap<Int, String>) {
map.computeIfPresent(1) { k, v -> v.length.toString() ?: null }
// SUCCESS
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in String, out String?>): String? defined in kotlin.collections.MutableMap
}
fun valuesNullable(map: MutableMap<Int, String?>) {
map.computeIfPresent(1) { k, v -> v?.length?.toString() }
// SUCCESS
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in String, out String?>): String? defined in kotlin.collections.MutableMap
}
fun <T : String?> valuesT(map: MutableMap<Int, T>, newValue: T) {
map.computeIfPresent(1) { k, v -> v?.length.toString() ?: null }
// SUCCESS
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in T & Any, out T?>): T? defined in kotlin.collections.MutableMap
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in T, out T?>): T? defined in kotlin.collections.MutableMap
}
fun <T : Any> valuesTNotNull(map: MutableMap<Int, T>, newValue: T) {
map.computeIfPresent(1) { k, v -> null }
// SUCCESS
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in T, out T?>): T? defined in kotlin.collections.MutableMap
}
fun <T : Any> valuesTNullable(map: MutableMap<Int, T?>, newValue: T?) {
map.computeIfPresent(1) { k, v -> null }
// SUCCESS
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in T & Any, out T?>): T? defined in kotlin.collections.MutableMap
// ORIGINAL: fun computeIfPresent(K, BiFunction<in K, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun computeIfPresent(Int, BiFunction<in Int, in T, out T?>): T? defined in kotlin.collections.MutableMap
}
@@ -1,42 +1,42 @@
fun valuesNotNull(map: MutableMap<Int, String>) {
map.merge(1, "x") { old, new -> old + new }
// SUCCESS
// ORIGINAL: fun merge(K, V & Any, BiFunction<in V & Any, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, String, BiFunction<in String, in String, out String?>): String? defined in kotlin.collections.MutableMap
}
fun valuesNullable(map: MutableMap<Int, String?>) {
map.merge(1, "x") { old, new -> old + new }
// SUCCESS
// ORIGINAL: fun merge(K, V & Any, BiFunction<in V & Any, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, String, BiFunction<in String, in String, out String?>): String? defined in kotlin.collections.MutableMap
map.merge(1, null) { old, new -> old + new }
// UNSAFE_CALL_ERROR
// ORIGINAL: fun merge(K, V & Any, BiFunction<in V & Any, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, String, BiFunction<in String, in String, out String?>): String? defined in kotlin.collections.MutableMap
}
fun <T> valuesT(map: MutableMap<Int, T>, newValue: T) {
map.merge(1, newValue) { old, new -> null }
// OTHER_ERROR
// ORIGINAL: fun merge(K, V & Any, BiFunction<in V & Any, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T & Any, BiFunction<in T & Any, in T & Any, out T?>): T? defined in kotlin.collections.MutableMap
// SUCCESS
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T, BiFunction<in T, in T, out T?>): T? defined in kotlin.collections.MutableMap
}
fun <T : Any> valuesTNotNull(map: MutableMap<Int, T>, newValue: T) {
map.merge(1, newValue) { old, new -> null }
// SUCCESS
// ORIGINAL: fun merge(K, V & Any, BiFunction<in V & Any, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T, BiFunction<in T, in T, out T?>): T? defined in kotlin.collections.MutableMap
}
fun <T : Any> valuesTNullable(map: MutableMap<Int, T?>, newValue: T?) {
map.merge(1, newValue) { old, new -> new }
// UNSAFE_CALL_ERROR
// ORIGINAL: fun merge(K, V & Any, BiFunction<in V & Any, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T & Any, BiFunction<in T & Any, in T & Any, out T?>): T? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T, BiFunction<in T, in T, out T?>): T? defined in kotlin.collections.MutableMap
map.merge(1, newValue!!) { old, new -> new }
// SUCCESS
// ORIGINAL: fun merge(K, V & Any, BiFunction<in V & Any, in V & Any, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T & Any, BiFunction<in T & Any, in T & Any, out T?>): T? defined in kotlin.collections.MutableMap
// ORIGINAL: fun merge(K, V, BiFunction<in V, in V, out V?>): V? defined in kotlin.collections.MutableMap
// SUBSTITUTED: fun merge(Int, T, BiFunction<in T, in T, out T?>): T? defined in kotlin.collections.MutableMap
}