bug icon indicating copy to clipboard operation
bug copied to clipboard

Missing `acc_varargs` flag when overriding a Java varargs method

Open lrytz opened this issue 2 months ago • 0 comments

J.java

public class J {
    public void jva(String... s) { }
}

S.scala

class C extends J {
  override def jva(s: String*): Unit = println("c")
}

R.java

public class R {
  void main() {
    var c = new C();
    c.jva("x");      // compilation error: no suitable method found
    ((J)c).jva("x"); // ok
  }
}

The Scala compiler emits a "varargs bridge" to override J.jva, it forwards to the Scala varargs method. But the varargs bridge is missing the acc_varargs flag.

lrytz avatar Oct 27 '25 10:10 lrytz