1ecf5943ab
When calling vararg methods with a generic vararg type without passing explicit parameters, we have to allocate an empty array of the right type. We failed to do so previously, as we did not take the type arguments for the dispatch receiver into account.
22 lines
384 B
Kotlin
Vendored
22 lines
384 B
Kotlin
Vendored
// FILE: A.java
|
|
|
|
public abstract class A<T> {
|
|
protected abstract String doIt(T... args);
|
|
|
|
public <S extends T> String test(S... args) {
|
|
return doIt(args);
|
|
}
|
|
}
|
|
|
|
// FILE: 1.kt
|
|
|
|
open class Super
|
|
class Sub: Super()
|
|
|
|
val a: A<Super> =
|
|
object : A<Super>() {
|
|
override fun doIt(vararg parameters: Super): String = "OK"
|
|
}
|
|
|
|
fun box(): String = a.test<Sub>()
|