Вызов карты в параллельной коллекции через ссылку на тип предка

Я пытался сделать необязательным запускmap работать последовательно или параллельно, например, используя следующий код:

val runParallel = true
val theList = List(1,2,3,4,5)
(if(runParallel) theList.par else theList) map println //Doesn't run in parallel

Я заметил, что операция map не выполняется параллельно, как я ожидал. Хотя без условного было бы:

theList.par map println   //Runs in parallel as visible in the output

Тип выражения(if(runParallel) theList else theList.par) который я ожидаю быть ближайшим общим предком обоих типовtheList а такжеtheList.par это страшный тип, который я не буду здесь вставлять, но на него интересно смотреть (через консоль scala :)

:type (if(true) theList else theList.par)

Почему неmap на параллельной коллекции работать параллельно?

ОБНОВЛЕНИЕ: это обсуждено вSI-4843 но из билета JIRA непонятно, почему это происходило на Scala 2.9.x.

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

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