Please explain this in Scala.
If I have a
trait A
I cannot do a
val a = new A
But this example trait,
trait DS[-In, +Out]{def apply(i: In): Out}
can have an instance of
val t1 = new DS[Any, Int]{def apply(i: Any) = i.toString.toInt}
How is this allowed?