diff options
author | Martin Odersky <odersky@gmail.com> | 2009-05-14 09:36:49 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2009-05-14 09:36:49 +0000 |
commit | 8fa8118e341cc0174d789b508b8b6ebab3571582 (patch) | |
tree | c45a0ba6be7233898f406dfdcf2f4a565a8f73ee /src/library/scala/collection/immutable/Traversable.scala | |
parent | 302427358e0ab97c3a12302e94295ca09465589d (diff) | |
download | scala-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.scala | 11 |
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 } |