// TARGET_BACKEND: JVM // IGNORE_BACKEND: JVM // ^ KT-43334 AbstractMethodError when calling 'remove' from Java on a Kotlin Collection with custom internal 'remove' // fixed in JVM_IR // FILE: internalRemoveFromJava.kt class Test : Collection { override val size: Int get() = TODO() override fun contains(element: T): Boolean = TODO() override fun containsAll(elements: Collection): Boolean = TODO() override fun isEmpty(): Boolean = TODO() override fun iterator(): Iterator = TODO() internal fun remove(x: T): Boolean = false } fun box(): String { val t = Test() return if (J.testRemove(t, "") == false) "OK" else "Fail" } // FILE: J.java import java.util.Collection; public class J { public static boolean testRemove(Collection c, T x) { return c.remove(x); } }