1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
object test { abstract class SampleFormat1 { def readerFactory: Any } case object Int8 extends SampleFormat1 { def readerFactory = sys.error("") } case object Int16 extends SampleFormat1 { def readerFactory = sys.error("") } (new {}: Any) match { case 8 => Int8 case 16 => Int16 case _ => sys.error("") } }