Files
kotlin-fork/compiler/testData/codegen/box/invokedynamic/sam/specializedGenerics/inheritedWithUnit.kt
T

27 lines
456 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 1 java/lang/invoke/LambdaMetafactory
fun interface IFoo<T> {
fun foo(): T
}
fun interface IFooUnit : IFoo<Unit> {
override fun foo()
}
fun <T> fooT(iFoo: IFoo<T>) = iFoo.foo()
fun fooUnit(iFooUnit: IFooUnit) { iFooUnit.foo() }
var ok = "Failed"
fun box(): String {
fooT { ok = "O" }
fooUnit { ok += "K" }
return ok
}