Skip to content

Commit a9f1695

Browse files
author
Martijn Hoekstra
committed
do both i and m Seq/LinearSeq
1 parent 053feea commit a9f1695

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

compat/src/main/scala-2.11_2.12/scala/collection/compat/PackageShared.scala

+8-5
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ package scala.collection.compat
1414

1515
import scala.collection.generic._
1616
import scala.reflect.ClassTag
17-
import scala.collection.{LinearSeq, MapLike, GenTraversable, BitSet, IterableView}
17+
import scala.collection.{MapLike, GenTraversable, BitSet, IterableView}
1818
import scala.collection.{immutable => i, mutable => m}
1919
import scala.{collection => c}
2020

@@ -46,10 +46,13 @@ private[compat] trait PackageShared {
4646

4747
implicit def genericCompanionToCBF[A, CC[X] <: GenTraversable[X]](
4848
fact: GenericCompanion[CC]): CanBuildFrom[Any, A, CC[A]] = {
49-
val builder = if (fact == Seq) new IdentityPreservingBuilder[A, Seq](Seq.newBuilder[A])
50-
else if (fact == LinearSeq) new IdentityPreservingBuilder[A, LinearSeq](LinearSeq.newBuilder[A])
51-
else fact.newBuilder[A]
52-
simpleCBF(builder.asInstanceOf[m.Builder[A, CC[A]]])
49+
val builder: m.Builder[A, CC[A]] = fact match {
50+
case c.Seq | i.Seq => new IdentityPreservingBuilder[A, i.Seq](i.Seq.newBuilder[A])
51+
case c.LinearSeq | i.LinearSeq =>
52+
new IdentityPreservingBuilder[A, i.LinearSeq](i.LinearSeq.newBuilder[A])
53+
case _ => fact.newBuilder[A]
54+
}
55+
simpleCBF(builder)
5356
}
5457

5558
implicit def sortedSetCompanionToCBF[A: Ordering,

0 commit comments

Comments
 (0)