Scala 2.10 - 编译错误?

时间:2012-12-13 22:03:05

标签: scala

这是编译器错误吗?

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”。没有它,就不会发生错误

2 个答案:

答案 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 
})