diff --git a/.travis.yml b/.travis.yml index 27b17d3c..4b016423 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,9 +5,9 @@ import: scala/scala-dev:travis/default.yml language: scala scala: - - 2.13.4 - 3.0.0-M3 - 3.0.0-RC1 + - 2.13.4 env: - ADOPTOPENJDK=8 diff --git a/core/src/main/scala/scala/collection/parallel/ParIterableLike.scala b/core/src/main/scala/scala/collection/parallel/ParIterableLike.scala index 44391852..4ab1c0f5 100644 --- a/core/src/main/scala/scala/collection/parallel/ParIterableLike.scala +++ b/core/src/main/scala/scala/collection/parallel/ParIterableLike.scala @@ -550,7 +550,11 @@ extends IterableOnce[T @uncheckedVariance] def apply() = shared def doesShareCombiners = true } else new CombinerFactory[T, Repr] { - def apply() = newCombiner + def apply() = { + val r = newCombiner + r.combinerTaskSupport = tasksupport + r + } def doesShareCombiners = false } } @@ -563,7 +567,11 @@ extends IterableOnce[T @uncheckedVariance] def apply() = shared def doesShareCombiners = true } else new CombinerFactory[S, That] { - def apply() = cbf() + def apply() = { + val r = cbf() + r.combinerTaskSupport = tasksupport + r + } def doesShareCombiners = false } } diff --git a/junit/src/test/scala/scala/collection/parallel/TaskTest.scala b/junit/src/test/scala/scala/collection/parallel/TaskTest.scala index 2b1ce4f7..089e5292 100644 --- a/junit/src/test/scala/scala/collection/parallel/TaskTest.scala +++ b/junit/src/test/scala/scala/collection/parallel/TaskTest.scala @@ -39,4 +39,13 @@ class TaskTest { for (x <- one ; y <- two) assertEquals("two", Thread.currentThread.getName) } + + @Test + def `t152 pass on task support`(): Unit = { + val myTs = new ExecutionContextTaskSupport() + val c = List(1).par + c.tasksupport = myTs + val r = c.filter(_ != 0).map(_ + 1) + assertSame(myTs, r.tasksupport) + } }