由于公司限制,我使用的是Scala 2.10.6。我怎样才能摆脱警告:
warning: non-variable type argument Market in type pattern () => Market is unchecked
since it is eliminated by erasure
在以下定义中:
case (payoff: Payoff, mktFun: (() => Market)) => {
val mkt = mktFun()
// ...
}
答案 0 :(得分:2)
例如,您可以创建一个专用数据类型case class Foo(p: PayOff, f: () => Market)
,您可以将其用作模式,而不是通用元组。
case Foo(payoff, mktFun) => {
val mkt = mktFun()
// ...
}
答案 1 :(得分:0)
一个非常简单的解决方案是定义自定义函数类型:
type MktFun = () => Market
然后:
case (payoff: Payoff, mktFun: MktFun) => {
val mkt = mktFun()
// ...
}
我再也没有收到警告了。