Затем, чтобы синтаксический сахар в вот таких ситуациях
case class C(x: D)
↓
object C {
def apply(x: D) = new C(x)
}Не приводил к казусам вроде:
case class C(x: D)
object C { type D = Double }
↓
object C {
type D = Double
def apply(x: D) = new C(x)
}Как говорится, science. It works. Низкотехнологичные решения в таких ситуациях вынуждены
(
Read more... )