// TARGET_BACKEND: JVM // MODULE: lib // FILE: A.java public abstract class A { protected abstract String doIt(T... args); public String test(S... args) { return doIt(args); } } // MODULE: main(lib) // FILE: 1.kt open class Super class Sub: Super() val a: A = object : A() { override fun doIt(vararg parameters: Super): String = "OK" } fun box(): String = a.test()