Constraint system builder shouldn't drop nullability when comparing signatures for specificity.

This commit is contained in:
Dmitry Petrov
2016-03-03 16:18:04 +03:00
parent 8a2b80fe3f
commit 8660800af7
5 changed files with 38 additions and 15 deletions
@@ -1,5 +1,10 @@
fun <T> List<T>?.foo() {}
fun <T1> List<T1>?.foo() {}
// NB Not a redeclaration
@JvmName("f1")
fun <T> List<T>.foo() {}
@JvmName("foo1")
fun <T2> List<T2>.foo() {}
fun <T1> bar(x: List<T1>) = x
@JvmName("bar1")
fun <T2> bar(x: List<T2>?) = x
@@ -1,4 +1,6 @@
package
@kotlin.jvm.JvmName(name = "f1") public fun </*0*/ T> kotlin.collections.List<T>.foo(): kotlin.Unit
public fun </*0*/ T> kotlin.collections.List<T>?.foo(): kotlin.Unit
public fun </*0*/ T1> bar(/*0*/ x: kotlin.collections.List<T1>): kotlin.collections.List<T1>
@kotlin.jvm.JvmName(name = "bar1") public fun </*0*/ T2> bar(/*0*/ x: kotlin.collections.List<T2>?): kotlin.collections.List<T2>?
public fun </*0*/ T1> kotlin.collections.List<T1>?.foo(): kotlin.Unit
@kotlin.jvm.JvmName(name = "foo1") public fun </*0*/ T2> kotlin.collections.List<T2>.foo(): kotlin.Unit