2

私は自己再帰型を持っています:

trait Problem[P <: Problem[P]] {
  type Solution
}

今、私はでパターンマッチしたいですP#Solution。内にいると仮定しましょうcase class Foo[P <: Problem[P]]():

case ExampleCaseClass(s: P#Solution) if conditionApplies() =>
  // do sth

case ExampleCaseClass(s: P#Solution) =>
  // now sth else

もちろん、型消去のために失敗します。そのコードをscalaでコンパイルする方法はありますか?

class/type タグを見たことがありますが、そのような場合に使用できるかどうかはよくわかりません。

4

1 に答える 1