Scala 2.8 breakOut

В Скала2,8есть объект в:scala.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()
 }

Мне сказали, что это приводит к:

> 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)

Что здесь происходит? ПочемуbreakOut будучи призваннымв качестве аргумента к моему?List

Ответы на вопрос(4)

Ваш ответ на вопрос