@@ -14,7 +14,7 @@ package scala.collection.compat
14
14
15
15
import scala .collection .generic ._
16
16
import scala .reflect .ClassTag
17
- import scala .collection .{LinearSeq , MapLike , GenTraversable , BitSet , IterableView }
17
+ import scala .collection .{MapLike , GenTraversable , BitSet , IterableView }
18
18
import scala .collection .{immutable => i , mutable => m }
19
19
import scala .{collection => c }
20
20
@@ -46,10 +46,13 @@ private[compat] trait PackageShared {
46
46
47
47
implicit def genericCompanionToCBF [A , CC [X ] <: GenTraversable [X ]](
48
48
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)
53
56
}
54
57
55
58
implicit def sortedSetCompanionToCBF [A : Ordering ,
0 commit comments