私はこの種のコードを使用しようとしています:
trait Outer {
type Inner
def f(x:Inner) : Void
}
object test {
def apply(o: Outer, i : Outer#Inner) : Void =
o.f(i)
}
最後から 2 行目でエラーが発生しました。
型の不一致; 見つかった: i.type (基礎となるタイプ Outer#Inner) が必要: o.Inner
適用の署名をに変更すると
def apply(o: Outer, i : o.Inner) : Void
その後、エラーが発生しました:
不正な依存メソッド タイプ
このコードを機能させることは可能ですか?