我有一个折叠操作,如下所示:
val ops: Seq[Op] ...
(x /: ops) { case (y, MyOp(z)) =>
...
}
除了MyOp之外,Op可以具有许多其他类型,但是在这种情况下,我知道所有Ops都是MyOps,因此我想添加@unchecked注释以删除编译器警告。
在此示例中,应将@unchecked放在哪里?
最佳答案
尝试
(x /: ops)((y0, op) =>
((y0, op): @unchecked) match {
case (y, MyOp(z)) => ???
}
)
https://www.scala-lang.org/files/archive/spec/2.11/11-annotations.html#scala-compiler-annotations