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/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/Traversable.scala')
-rw-r--r-- | src/library/scala/collection/Traversable.scala | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/library/scala/collection/Traversable.scala b/src/library/scala/collection/Traversable.scala index 39a7a188f0..4d2ace813c 100644 --- a/src/library/scala/collection/Traversable.scala +++ b/src/library/scala/collection/Traversable.scala @@ -25,9 +25,9 @@ import generic._ * @author Martin Odersky * @version 2.8 */ -trait Traversable[+A] extends TraversableTemplate[A, Traversable[A]] { - protected[this] def newBuilder = Traversable.newBuilder - def traversableBuilder[B]: Builder[B, Traversable[B]] = Traversable.newBuilder[B] +trait Traversable[+A] extends TraversableTemplate[A, Traversable[A]] + with TraversableClass[A, Traversable] { + def companion: Companion[Traversable] = Traversable /* The following methods are inherited from TraversableTemplate * @@ -93,10 +93,9 @@ trait Traversable[+A] extends TraversableTemplate[A, Traversable[A]] { /** Factory methods and utilities for instances of type Traversable */ object Traversable extends TraversableFactory[Traversable] { self => - 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] +// new BuilderFactory[A, Traversable[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] } def newBuilder[A]: Builder[A, Traversable[A]] = immutable.Traversable.newBuilder[A] |