我可以在类型参数的类型成员上指定约束吗?

Law*_*eld 7 scala

是否可以将类型成员约束推迟到使用站点?

trait Query {
  type Result
}
Run Code Online (Sandbox Code Playgroud)

伪代码:

def fooRequiresAnyRefResults[Q <: Query, Q#Result <: AnyRef]()
Run Code Online (Sandbox Code Playgroud)

Mar*_*rth 7

我现在无法测试它,但这应该工作:

def f[Q <: Query {type Result <: AnyRef}]() = ...

  • @LawrenceWagerfield 接受答案怎么样?:) (2认同)