Minor. Added regression tests for: KT-3927, KT-9522, KT-10036, KT-7440, KT-9682, KT-9808, KT-9517, KT-9810, KT-9345.
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER
|
||||
// KT-7440 Cannot complete type inference if two extension functions for interface hierarchy
|
||||
|
||||
package inferenceagain
|
||||
|
||||
interface Base<T>
|
||||
interface Derived<T> : Base<T>
|
||||
|
||||
fun <R : Comparable<R>, T : Any> Base<T>.maxBy(f: (T) -> R): T? = null
|
||||
fun <R : Comparable<R>, T : Any> Derived<T>.maxBy(f: (T) -> R): T? = null
|
||||
|
||||
fun <T> derivedOf(vararg members: T): Derived<T> = null!!
|
||||
|
||||
fun <T> x(l: Derived<T>) {
|
||||
derivedOf(1, 2, 3).maxBy<Int, Int> { it } // works
|
||||
derivedOf(1, 2, 3).maxBy { it } // should work
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package
|
||||
|
||||
package inferenceagain {
|
||||
public fun </*0*/ T> derivedOf(/*0*/ vararg members: T /*kotlin.Array<out T>*/): inferenceagain.Derived<T>
|
||||
public fun </*0*/ T> x(/*0*/ l: inferenceagain.Derived<T>): kotlin.Unit
|
||||
public fun </*0*/ R : kotlin.Comparable<R>, /*1*/ T : kotlin.Any> inferenceagain.Base<T>.maxBy(/*0*/ f: (T) -> R): T?
|
||||
public fun </*0*/ R : kotlin.Comparable<R>, /*1*/ T : kotlin.Any> inferenceagain.Derived<T>.maxBy(/*0*/ f: (T) -> R): T?
|
||||
|
||||
public interface Base</*0*/ T> {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface Derived</*0*/ T> : inferenceagain.Base<T> {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user