44 lines
589 B
Plaintext
Vendored
44 lines
589 B
Plaintext
Vendored
fun interface KRunnable {
|
|
abstract fun run()
|
|
|
|
}
|
|
|
|
fun foo0() {
|
|
}
|
|
|
|
fun foo1(vararg xs: Int): Int {
|
|
return 1
|
|
}
|
|
|
|
fun use(r: KRunnable) {
|
|
}
|
|
|
|
fun testSamConstructor(): KRunnable {
|
|
return ::foo0 /*-> KRunnable */
|
|
}
|
|
|
|
fun testSamCosntructorOnAdapted(): KRunnable {
|
|
return { // BLOCK
|
|
local fun foo1() {
|
|
foo1() /*~> Unit */
|
|
}
|
|
|
|
::foo1
|
|
} /*-> KRunnable */
|
|
}
|
|
|
|
fun testSamConversion() {
|
|
use(r = ::foo0 /*-> KRunnable */)
|
|
}
|
|
|
|
fun testSamConversionOnAdapted() {
|
|
use(r = { // BLOCK
|
|
local fun foo1() {
|
|
foo1() /*~> Unit */
|
|
}
|
|
|
|
::foo1
|
|
} /*-> KRunnable */)
|
|
}
|
|
|