我已经定义了以下类层次结构,我想将类型参数限制为符合Double...
sealed abstract class Quantity[-T](value: T)(implicit ev: T <:< Double)
case class DiscreteQuantity(value: Long) extends Quantity[Long](value)
case class ContinuousQuantity(value: Double) extends Quantity[Double](value)
...是否可以重写上述层次结构,以便具体类型是值类?从文档中我知道值类无法扩展,因此排除了Quantity继承自AnyVal. 为了从具体类继承,AnyVal我需要创建Quantity一个特征,这很好,但是我丢失了类型参数上的逆变注释。
想法?