Closed
Description
Compiler version
3.0.1
Minimized code
import scala.annotation.targetName
class C(s: String) extends AnyVal {
def m(xs: Seq[Int]): Unit = {}
@targetName("m_seq2")
def m(xs: Seq[Seq[Int]]): Unit = {}
}
object Main {
def main(args: Array[String]): Unit = new C("").m(Seq(123))
}
Output
java.lang.ClassFormatError: Duplicate method name "m_seq2" with signature "(Ljava.lang.String;Lscala.collection.immutable.Seq;)V" in class file C$
$ javap target/scala-3.0.1/classes/C\$.class
...
public final void m_seq2(java.lang.String, scala.collection.immutable.Seq<scala.collection.immutable.Seq<java.lang.Object>>);
public final void m_seq2(java.lang.String, scala.collection.immutable.Seq<scala.collection.immutable.Seq<java.lang.Object>>);
...
Removing extends AnyVal
fixes it.