Case class can extend trait and implement it using its fields.
trait IWork {
def itWorks: String
}
case class Example(itWorks: String) extends IWork
It compiles and works fine. Could you please explain, why it can't be compiled?
trait IsAfter {
def after(test: Date): Boolean
}
case class Example2(after: Date => Boolean) extends IsAfter