Is there a nicer way of doing this?
scala> case class A(x : Int)
defined class A
scala> case class B(override val x : Int, y : Int) extends A(x)
defined c
I would strongly advise not to inherit from a case class. It has surprising effects on equals and hashCode, and has been deprecated in Scala 2.8.
Instead, define x
in a trait or an abstract class.
scala> trait A { val x: Int }
defined trait A
scala> case class B(val x: Int, y: Int) extends A
defined class B
http://www.scala-lang.org/node/3289
http://www.scala-lang.org/node/1582