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
A Look at How Scala Compiles to Java Consider this contrived example, based on an example from Beginning Scala. The point of the snippet was to demonstrate the congruency between using the...