Support type annotations resolution on an underscored type argument

This commit is contained in:
Victor Petukhov
2021-10-22 11:11:55 +03:00
parent b69fb6779f
commit 248c9550cd
9 changed files with 67 additions and 12 deletions
@@ -0,0 +1,13 @@
// !DIAGNOSTICS: -UNCHECKED_CAST
// FIR_IDENTICAL
// WITH_RUNTIME
fun <K, T> foo(x: (K) -> T): Pair<K, T> = (1 as K) to (1f as T)
@Target(AnnotationTarget.TYPE)
annotation class Anno
fun box(): String {
val x = foo<@Anno Int, @Anno _> { it.toFloat() }
return "OK"
}
@@ -0,0 +1,11 @@
package
public fun box(): kotlin.String
public fun </*0*/ K, /*1*/ T> foo(/*0*/ x: (K) -> T): kotlin.Pair<K, T>
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Anno : kotlin.Annotation {
public constructor Anno()
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
}