diff options
Diffstat (limited to 'src/library/scala/collection/immutable/Sequence.scala')
-rw-r--r-- | src/library/scala/collection/immutable/Sequence.scala | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/library/scala/collection/immutable/Sequence.scala b/src/library/scala/collection/immutable/Sequence.scala index 565937335f..715cabb705 100644 --- a/src/library/scala/collection/immutable/Sequence.scala +++ b/src/library/scala/collection/immutable/Sequence.scala @@ -12,15 +12,17 @@ import generic._ /** A subtrait of collection.Sequence which represents sequences * that cannot be mutated. */ -trait Sequence[+A] extends Iterable[A] with collection.Sequence[A] with SequenceTemplate[A, Sequence[A]] { - override protected[this] def newBuilder = Sequence.newBuilder - override def traversableBuilder[B]: Builder[B, Sequence[B]] = Sequence.newBuilder[B] +trait Sequence[+A] extends Iterable[A] + with collection.Sequence[A] + with TraversableClass[A, Sequence] + with SequenceTemplate[A, Sequence[A]] { + override def companion: Companion[Sequence] = Sequence + override def hashCode = (Sequence.hashSeed /: this)(_ * 41 + _.hashCode) } object Sequence extends SequenceFactory[Sequence] { private val hashSeed = "Sequence".hashCode - type Coll = Sequence[_] - implicit def builderFactory[A]: BuilderFactory[A, Sequence[A], Coll] = new BuilderFactory[A, Sequence[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] } + implicit def builderFactory[A]: BuilderFactory[A, Sequence[A], Coll] = new VirtualBuilderFactory[A] def newBuilder[A]: Builder[A, Sequence[A]] = new mutable.ListBuffer } |