I want to do something like this:
sealed abstract class Base(val myparam:String) case class Foo(override val mypar
This works fine for me:
sealed abstract class Base { def copy(myparam: String): Base } case class Foo(myparam:String) extends Base { override def copy(x: String = myparam) = Foo(x) } def copyBase(x: Base) = x.copy("changed") copyBase(Foo("abc")) //Foo(changed)