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/Iterable.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/Iterable.scala')
-rw-r--r-- | src/library/scala/collection/Iterable.scala | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/library/scala/collection/Iterable.scala b/src/library/scala/collection/Iterable.scala index 42b6c5afe7..af52831428 100644 --- a/src/library/scala/collection/Iterable.scala +++ b/src/library/scala/collection/Iterable.scala @@ -31,9 +31,10 @@ import generic._ * @author Martin Odersky * @version 2.8 */ -trait Iterable[+A] extends Traversable[A] with IterableTemplate[A, Iterable[A]] { - override protected[this] def newBuilder = Iterable.newBuilder - override def traversableBuilder[B]: Builder[B, Iterable[B]] = Iterable.newBuilder[B] +trait Iterable[+A] extends Traversable[A] + with TraversableClass[A, Iterable] + with IterableTemplate[A, Iterable[A]] { + override def companion: Companion[Iterable] = Iterable /* The following methods are inherited from trait IterableTemplate * @@ -44,13 +45,13 @@ trait Iterable[+A] extends Traversable[A] with IterableTemplate[A, Iterable[A]] override def view override def view(from: Int, until: Int) */ + } /** Factory methods and utilities for instances of type Traversable */ object Iterable extends TraversableFactory[Iterable] { - type Coll = Iterable[_] - implicit def builderFactory[A]: BuilderFactory[A, Iterable[A], Coll] = new BuilderFactory[A, Iterable[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] } + implicit def builderFactory[A]: BuilderFactory[A, Iterable[A], Coll] = new VirtualBuilderFactory[A] def newBuilder[A]: Builder[A, Iterable[A]] = immutable.Iterable.newBuilder[A] def fromOld[A](it: scala.Iterable[A]): Iterable[A] = new Iterable[A] { |