这是编译器错误吗?
class A(val pf: PartialFunction[Int, Int])
class B extends A({
case 5 => 3
case _ => 2
})
println(new B)
java.lang.VerifyError: (class: Main$$anon$1$B, method: <init> signature: (LMain$$anon$1;)V) Expecting to find object/array on stack
我正在使用Scala 2.10 RC3和Java 7u9
编辑:在我的代码末尾忘记了“新B”。没有它,就不会发生错误
答案 0 :(得分:1)
这是issue看起来非常相似,包括As和Bs。我通常保存至于类型参数,这就是我所知道的我不是用Java编码的。
答案 1 :(得分:-1)
升级到Scala-2.10-RC3 - 它可以在这里工作!
修改
class B extends A (new PartialFunction[Int, Int]{
def apply(v: Int) = v match {
case 3 => 4
case _ => 0
}
def isDefinedAt(v: Int) = true
})