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 local fun foo1() {
    foo1()
  }
 /*-> KRunnable */
}

fun testSamConversion() {
  use(r = ::foo0 /*-> KRunnable */)
}

fun testSamConversionOnAdapted() {
  use(r = local fun foo1() {
    foo1()
  }
 /*-> KRunnable */)
}
