3
私はScalaを学んでいますが、ジェネリックスに関わるエラーに悩まされています。私は、これは私のコンパイルエラー「myClassクラスが関与する違法な循環参照」を与えるクラスを含む不正な循環参照
class myClass[B] extends myTrait[Int, B, myClass]{
override protected def self:myClass[B] = this
}
として
trait myTrait[
A, B,
Self[X, Y] <: myTrait[X, Y, Self]] {
protected def self: Self[A, B]
}
と私のクラスとしての特性を定義しました。私がmyClassを宣言すると、エラーは消え去る
class myClass[A, B] extends myTrait[A, B, myClass]{
override protected def self:myClass[A, B] = this
}
私は間違っていますか?