Files
kotlin-fork/compiler/testData/codegen/box/functions/functionNtoStringGeneric.kt
T
Vladimir Sukharev a036e41809 [Test] Convert IGNORE: NATIVE directives in box tests from D to I
^KT-59057

Merge-request: KT-MR-10748
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-06-23 09:11:17 +00:00

28 lines
652 B
Kotlin
Vendored

// LAMBDAS: CLASS
// TARGET_BACKEND: JVM
// TARGET_BACKEND: JVM_IR
// WITH_REFLECT
import kotlin.test.assertEquals
fun <T> bar(): String {
return { t: T -> t }.toString()
}
class Baz<T, V> {
fun <V : T> baz(v: V): String {
return (fun(t: List<T>): V = v).toString()
}
}
open class Foo<T, U : List<T>>(val lambda: (T) -> U)
class Bar<T> : Foo<T, List<T>>({ listOf(it) })
fun box(): String {
assertEquals("(T) -> T", bar<String>())
assertEquals("(kotlin.collections.List<T>) -> V", Baz<String, Int>().baz<String>(""))
assertEquals("(T) -> kotlin.collections.List<T>", Bar<Int>().lambda.toString())
return "OK"
}