Salto Scala 2.8

En scala2.8, hay un objeto enscala.collection.package.scala:

def breakOut[From, T, To](implicit b : CanBuildFrom[Nothing, T, To]) =
    new CanBuildFrom[From, T, To] {
        def apply(from: From) = b.apply() ; def apply() = b.apply()
 }

Me han dicho que esto resulta en:

> import scala.collection.breakOut
> val map : Map[Int,String] = List("London", "Paris").map(x => (x.length, x))(breakOut)

map: Map[Int,String] = Map(6 -> London, 5 -> Paris)

¿Que esta pasando aqui? Por que esbreakOut siendo llamadocomo argumento para miList?

Respuestas a la pregunta(4)

Su respuesta a la pregunta