2013-04-01 3 views
3

чесать голову над странной ошибки во время выполнения:

// File: build.sbt 
scalaVersion := "2.10.1" 

// File: src/main/scala/bug/Bug.scala 
package bug 

class Foo(val args: Any*) 
case class Bar(id: Int) extends Foo(id) 

object Bug extends App { 
    val msg = Bar(666) 
    val id = msg.id // boom! 
} 

Если я запускаю это с sbt run "

[error] (run-main) java.lang.ClassCastException: 
    scala.collection.mutable.WrappedArray$ofRef cannot be cast to java.lang.Integer 
java.lang.ClassCastException: scala.collection.mutable.WrappedArray$ofRef cannot be 
    cast to java.lang.Integer 
    at scala.runtime.BoxesRunTime.unboxToInt(Unknown Source) 
    at bug.Bar.id(Test.scala:4) 
    at bug.Bug$delayedInit$body.apply(Test.scala:8) 
    at scala.Function0$class.apply$mcV$sp(Function0.scala:40) 
     ... 

Какого черта это? Это, кажется, новый баг Scala 2.10.1, потому что если я изменяю scalaVersion := "2.10.0", она работает без проблем.

Любые идеи произведения вокруг? (магия компилятор Eg е лаг)

+0

Могу ли я работать в [SI-7268] (https://issues.scala-lang.org/browse/SI-7268)? –

ответ

0

По словам Джейсона Заугга, это SI-7436 и его следует установить в Scala 2.10.3.

+0

На самом деле это выглядит как 2.11. У него была неправильная версия исправления, теперь она настроена на: Scala 2.11.0-M4 – EECOLOR

+0

Это правильно. Текущий 2.11.0-M8 больше не показывает эту ошибку. –

 Смежные вопросы

  • Нет связанных вопросов^_^