| // TARGET_BACKEND: JVM | |
| // ISSUE: KT-62544 | |
| // FILE: Base.java | |
| public interface Base { | |
| String get(); | |
| } | |
| // FILE: Impl.java | |
| class Impl {} | |
| // FILE: O.java | |
| public class O extends Impl implements Base { | |
| @Override | |
| public String get() { return "O"; } | |
| } | |
| // FILE: K.java | |
| public class K extends Impl implements Base { | |
| @Override | |
| public String get() { return "K"; } | |
| } | |
| // FILE: box.kt | |
| package test | |
| import O | |
| import K | |
| fun <A, B : A, C : A> foo( | |
| b: B, | |
| c: C, | |
| f: (A) -> String | |
| ): String { | |
| return f(b) + f(c) | |
| } | |
| fun box(): String { | |
| return foo(O(), K()) { it.get() } | |
| } |