Skip to content

Overriding an @varargs method fails under separate compilation #9463

Closed
@martijnhoekstra

Description

@martijnhoekstra

Minimized code

A.scala

import scala.annotation.varargs

trait FirstMixin {
  @varargs
  def counter(name: String*): Int = ???
}

B.scala:

trait Minimization extends FirstMixin {
    override def counter(name: String*): Int = 0
}

Output

Separate compilation of B.scala fails:

$ dotc A.scala
$ dotc -classpath . B.scala
-- [E037] Declaration Error: try/i9463b.scala:3:6 ------------------------------
3 |trait Minimization extends FirstMixin {
  |      ^
  |      method counter overrides nothing

Expectation

Compiles successfully.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions