@@ -14,7 +14,7 @@ package scala.collection.compat
1414
1515import scala .collection .generic ._
1616import scala .reflect .ClassTag
17- import scala .collection .{LinearSeq , MapLike , GenTraversable , BitSet , IterableView }
17+ import scala .collection .{MapLike , GenTraversable , BitSet , IterableView }
1818import scala .collection .{immutable => i , mutable => m }
1919import 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