带有val的通配符数组上的Scala编译器错误

带有val的通配符数组上的Scala编译器错误,scala,Scala,当使用val声明构造函数参数时,以下代码失败 作品: class Poso(array : Array[_ <: Any]) object Test { new Poso(classOf[Retention].getEnumConstants()) } 类Poso(array:array[\p>看起来像Scala编译器中的一个bug(它在异常情况下死亡)。您可能应该向Scala开发人员报告它 使用AnyRef而不是Any为我修复了它: class Poso(val array : A

当使用val声明构造函数参数时,以下代码失败

作品:

class Poso(array : Array[_ <: Any])
object Test {
  new Poso(classOf[Retention].getEnumConstants())
}

类Poso(array:array[\p>看起来像Scala编译器中的一个bug(它在异常情况下死亡)。您可能应该向Scala开发人员报告它

使用
AnyRef
而不是
Any
为我修复了它:

class Poso(val array : Array[_ <: AnyRef])
object Test {
  new Poso(classOf[java.lang.annotation.Retention].getEnumConstants())
}

classposo(val-array:array[\p>看起来像Scala编译器中的一个bug(它在异常情况下死亡)。您可能应该向Scala开发人员报告它

使用
AnyRef
而不是
Any
为我修复了它:

class Poso(val array : Array[_ <: AnyRef])
object Test {
  new Poso(classOf[java.lang.annotation.Retention].getEnumConstants())
}

class Poso(val-array:array[;在2.9和2.10中都无法再现错误。您确定错误是由val关键字引起的吗?将val放入其中会中断。如果我有一个成员val并将构造函数参数分配给它,则它会工作(这就是我正在做的)。我将用堆栈跟踪更新我的问题。您使用的是什么版本的2.9?我还应该指出,我的构建使用的是scala maven插件,因此如果它对您有效(在“普通”scala中)那么它的错误可能在我的堆栈中。在2.9和2.10中都无法重现该错误。你确定该错误是由val关键字引起的吗?将val放入其中会中断。如果我有一个成员val并将构造函数参数分配给它,则它会工作(这就是我正在做的)。我将用堆栈跟踪更新我的问题。您使用的是什么版本的2.9?我还应该指出,我的构建使用的是scala maven插件,因此如果它对您有效(在“普通”scala中),那么它可能在我的堆栈中。