Substitute type variables properly in ConeOverloadConflictResolver

#KT-46187 Fixed
This commit is contained in:
Mikhail Glukhikh
2022-03-17 10:58:35 +03:00
committed by Space
parent 310ab12a92
commit b327f5c731
9 changed files with 19 additions and 46 deletions
@@ -13,7 +13,7 @@ FILE: beyoundCalls.kt
}
public final fun foo(): R|kotlin/Unit| {
lval x: R|(kotlin/String) -> kotlin/Int| = ::R|/bar|
lval y: <ERROR TYPE REF: Ambiguity: bar, [/bar, /bar]> = ::<Ambiguity: bar, [/bar, /bar]>#
lval y: R|kotlin/reflect/KFunction1<kotlin/String, kotlin/Int>| = ::R|/bar|
lval z: R|kotlin/reflect/KFunction1<kotlin/String, kotlin/Int>| = ::R|/baz|
lval w: R|(kotlin/String) -> kotlin/Int| = ::R|/foobaz<kotlin/String, kotlin/Int>|
::R|/baz|
@@ -6,7 +6,7 @@ fun <T, R> foobaz(x: T): R = TODO()
fun foo() {
val x: (String) -> Int = ::bar
val y = ::<!OVERLOAD_RESOLUTION_AMBIGUITY!>bar<!>
val y = ::bar
val z = ::baz
val w: (String) -> Int = ::foobaz