4

これはコンパイラのバグですか?

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」を忘れました。それがなければエラーは発生しません

4

2 に答える 2

1

これは、As と Bs を含め、かなり似ている問題です。私は通常、型パラメーターとして As を保存します。これにより、Java でコーディングしていないことがわかります。

于 2012-12-13T23:35:18.397 に答える
-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 
})
于 2012-12-14T01:41:24.527 に答える