summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/immutable/Sequence.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/scala/collection/immutable/Sequence.scala')
-rw-r--r--src/library/scala/collection/immutable/Sequence.scala12
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
}