// FILE: Custom.java class Custom { private K k; private V v; public Custom(K k, V v) { this.k = k; this.v = v; } public interface MBiConsumer { void accept(T t, U u); } 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 { 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 }