// TARGET_BACKEND: JVM // FILE: Sam.java public interface Sam { T foo(); } // FILE: Connection.java public interface Connection { T accept(Sam sam); } // FILE: box.kt fun test(sam: Sam<*>, c: Connection): Any { return c.accept(sam) } fun box(): String { return test({ "OK" }, object: Connection { override fun accept(sam: Sam) = sam.foo() }) as String }