Skip to content

Commit c73a5d5

Browse files
committed
wip: add @uncheckedVariance
1 parent cde8c68 commit c73a5d5

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

core/src/main/scala/scala/collection/CustomParallelizable.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ package scala
1414
package collection
1515

1616
import parallel.Combiner
17+
import scala.annotation.unchecked.uncheckedVariance
1718

1819
trait CustomParallelizable[+A, +ParRepr <: Parallel] extends Any with Parallelizable[A, ParRepr] {
1920
override def par: ParRepr
20-
override protected[this] def parCombiner: Combiner[A, ParRepr] = throw new UnsupportedOperationException("")
21+
override protected[this] def parCombiner: Combiner[A @uncheckedVariance , ParRepr] = throw new UnsupportedOperationException("")
2122
}
2223

core/src/main/scala/scala/collection/Parallelizable.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ package scala
1414
package collection
1515

1616
import parallel.Combiner
17+
import scala.annotation.unchecked.uncheckedVariance
1718

1819
/** This trait describes collections which can be turned into parallel collections
1920
* by invoking the method `par`. Parallelizable collections may be parameterized with
@@ -48,6 +49,6 @@ trait Parallelizable[+A, +ParRepr <: Parallel] extends Any {
4849
*
4950
* @return a combiner for the parallel collection of type `ParRepr`
5051
*/
51-
protected[this] def parCombiner: Combiner[A, ParRepr]
52+
protected[this] def parCombiner: Combiner[A @uncheckedVariance, ParRepr]
5253
}
5354

core/src/main/scala/scala/collection/generic/GenericParTemplate.scala

+3-3
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ trait GenericParTemplate[+A, +CC[X] <: ParIterable[X]]
3131
{
3232
def companion: GenericParCompanion[CC]
3333

34-
protected[this] override def newBuilder: scala.collection.mutable.Builder[A, CC[A]] = newCombiner
34+
protected[this] override def newBuilder: scala.collection.mutable.Builder[A @uncheckedVariance, CC[A] @uncheckedVariance] = newCombiner
3535

36-
protected[this] override def newCombiner: Combiner[A, CC[A]] = {
36+
protected[this] override def newCombiner: Combiner[A @uncheckedVariance, CC[A] @uncheckedVariance] = {
3737
val cb = companion.newCombiner[A]
3838
cb
3939
}
@@ -50,7 +50,7 @@ trait GenericParTemplate[+A, +CC[X] <: ParIterable[X]]
5050

5151
trait GenericParMapTemplate[K, +V, +CC[X, Y] <: ParMap[X, Y]] extends GenericParTemplate[(K, V), ParIterable]
5252
{
53-
protected[this] override def newCombiner: Combiner[(K, V), CC[K, V]] = {
53+
protected[this] override def newCombiner: Combiner[(K, V @uncheckedVariance), CC[K, V @uncheckedVariance]] = {
5454
val cb = mapCompanion.newCombiner[K, V]
5555
cb
5656
}

0 commit comments

Comments
 (0)