FIR: fix substitution of type arguments in SAM type aliases

^KT-54730 Fixed
This commit is contained in:
pyos
2022-10-20 13:22:50 +02:00
committed by Space Team
parent 3253789093
commit 0d46dfc1ba
20 changed files with 125 additions and 72 deletions
@@ -0,0 +1,30 @@
fun interface KRunnable {
fun invoke()
}
fun interface KConsumer<T> {
fun accept(value: T)
}
typealias KRunnableAlias = KRunnable
typealias StringConsumer = KConsumer<String>
fun foo(f: KRunnable) = f
fun <T> bar(f: KConsumer<T>) = f
fun box(): String {
var result = ""
foo(KRunnable {
bar(KConsumer<String> {
result += it
}).accept("O")
}).invoke()
foo(KRunnableAlias {
bar(StringConsumer {
result += it
}).accept("K")
}).invoke()
return result
}