1
に適用オーバーライドすることはできません私は、次のコードを持っている:Scalaのケースクラスとコンパニオンオブジェクトは、差分署名
case class Foo(x:Int) {
def this(x: Int, y: Int) = this(x + y)
}
object Foo {
def apply(x: Int, y: Int) = new Foo(x, y)
}
を私はコンパイルエラーを受信:Error:Person is already defined as (compiler-generated) case class companion object Person
このコードが原因apply
が持っているという事実に働かなければなりません別の署名。おそらくそれはスカラのバグです。私のscalaバージョンは2.11.8です。
このバグはなぜ早く修正されなかったのですか?重大な欠陥のようですか? – pacman
@pacmanそれは単に優先順位付けされていませんでした。この問題を部分的に回避することができますので、私の更新を参照してください。 –