// FILE: Custom.java class Custom { public interface MBiConsumer { void accept(T t, U u); } private K k; private V v; public Custom(K k, V v) { this.k = k; this.v = v; } public void forEach(MBiConsumer action) { action.accept(k, v); } } // FILE: 1.kt import java.util.Arrays fun box(): String { val instance = Custom("O", "K") var result = "fail" instance.forEach (Custom.MBiConsumer { a, b -> result = a + b }) val superInterfaces = Arrays.toString((Class.forName("_1Kt\$box$1")).genericInterfaces) if (superInterfaces != "[Custom.Custom\$MBiConsumer]") { return "fail: $superInterfaces" } return result }