summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/immutable/Traversable.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-05-14 09:36:49 +0000
committerMartin Odersky <odersky@gmail.com>2009-05-14 09:36:49 +0000
commit8fa8118e341cc0174d789b508b8b6ebab3571582 (patch)
treec45a0ba6be7233898f406dfdcf2f4a565a8f73ee /src/library/scala/collection/immutable/Traversable.scala
parent302427358e0ab97c3a12302e94295ca09465589d (diff)
downloadscala-8fa8118e341cc0174d789b508b8b6ebab3571582.tar.gz
scala-8fa8118e341cc0174d789b508b8b6ebab3571582.tar.bz2
scala-8fa8118e341cc0174d789b508b8b6ebab3571582.zip
cleaned up collection builder framework
Diffstat (limited to 'src/library/scala/collection/immutable/Traversable.scala')
-rw-r--r--src/library/scala/collection/immutable/Traversable.scala11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/library/scala/collection/immutable/Traversable.scala b/src/library/scala/collection/immutable/Traversable.scala
index 302115a6d6..ffb389212b 100644
--- a/src/library/scala/collection/immutable/Traversable.scala
+++ b/src/library/scala/collection/immutable/Traversable.scala
@@ -9,15 +9,16 @@ import generic._
* @autor Martin Odersky
* @version 2.8
*/
-trait Traversable[+A] extends collection.Traversable[A] with TraversableTemplate[A, Traversable[A]] with Immutable { self =>
- override protected[this] def newBuilder = Traversable.newBuilder
- override def traversableBuilder[B]: Builder[B, Traversable[B]] = Traversable.newBuilder[B]
+trait Traversable[+A] extends collection.Traversable[A]
+ with TraversableClass[A, Traversable]
+ with TraversableTemplate[A, Traversable[A]]
+ with Immutable {
+ override def companion: Companion[Traversable] = Traversable
}
/* A factory object for the trait `Traversable` */
object Traversable extends TraversableFactory[Traversable] {
- type Coll = Traversable[_]
- implicit def builderFactory[A]: BuilderFactory[A, Traversable[A], Coll] = new BuilderFactory[A, Traversable[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
+ implicit def builderFactory[A]: BuilderFactory[A, Traversable[A], Coll] = new VirtualBuilderFactory[A]
def newBuilder[A]: Builder[A, Traversable[A]] = new mutable.ListBuffer
}