【发布时间】:2011-11-09 05:35:18
【问题描述】:
我有以下场景:
sealed abstract class Type(val inUse: Boolean)
case class IntTy(override val inUse: Boolean) extends Type(inUse)
case class TupleTy(override val inUse: Boolean, elems: Type*) extends Type(inUse) {
def this(elems: Type*) = this(false, elems:_*)
}
在 Scala 2.8.0 中,这工作得很好,我可以创建一个新的 TupleTy 实例:
TupleTy(IntTy(false))
但是,我刚刚更新到 Scala 2.9.1 final,它不再有效。我现在收到以下错误:
error: type mismatch;
found : IntTy
required: Boolean
TupleTy(IntTy(false))
^
这是一个错误还是我错过了什么?
【问题讨论】:
-
我正要建议给 inUse 一个默认值,但是:
error: a parameter section with a '*'-parameter is not allowed to have default arguments:-( 嗯,很高兴知道。