0

これは単なる基本的な例ですが、M を使用するだけで T を何らかの方法で抽出または推論する方法で、2 型 (T ,U ) の設定を使用しないように、最後の特性を書き直すことはできますか? 明示的なオブジェクトのない型システムについてもっと質問していますが、おそらくそれが唯一の方法ですか?

trait Data[T]{
  val x:T
}

trait Meta[T<:Data[T]]{
  val m:T
}

trait Overall[T, M<:Meta[T] ] {
 def review(t:T): M
}

//assume we want to work with the nested data type Int
case class Helper extends Overall[Int,Meta[Int]]

私が求めていることの誤った図:

//extract T by however Overall is finally defined?
trait Overall[ M<:Meta[T] ] {
    def review(t:T): M
}

case class Helper extends Overall[Meta[Int]]

ありがとうございました

4

2 に答える 2