b6ad1584c9
- Use typed Wasm tables for each interface method to avoid runtime function type check - Use linear search by implemented interface rather than by individual virtual function signature
21 lines
416 B
Kotlin
Vendored
21 lines
416 B
Kotlin
Vendored
// DONT_TARGET_EXACT_BACKEND: WASM
|
|
// WASM_MUTE_REASON: SAM_CONVERSIONS
|
|
// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument
|
|
|
|
fun interface MyRunnable {
|
|
fun run()
|
|
}
|
|
|
|
fun box(): String {
|
|
var result = "failed"
|
|
val r = MyRunnable { result += "K" }
|
|
foo({ result = "O" }, r)
|
|
return result
|
|
}
|
|
|
|
fun foo(vararg rs: MyRunnable) {
|
|
for (r in rs) {
|
|
r.run()
|
|
}
|
|
}
|