From 907fd78c9bda27b429aaf7d555731c027d6d1cbb Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Thu, 22 Oct 2009 09:43:14 +0000 Subject: removed some of the code duplication that Marti... removed some of the code duplication that Martin pointed out in my addition of def apply() to GenericCanBuildFrom --- src/library/scala/collection/IndexedSeq.scala | 5 +---- src/library/scala/collection/Iterable.scala | 5 +---- src/library/scala/collection/LinearSeq.scala | 5 +---- src/library/scala/collection/Seq.scala | 5 +---- src/library/scala/collection/Traversable.scala | 5 +---- src/library/scala/collection/generic/TraversableFactory.scala | 3 ++- src/library/scala/collection/immutable/IndexedSeq.scala | 7 ++----- src/library/scala/collection/immutable/Iterable.scala | 5 +---- src/library/scala/collection/immutable/LinearSeq.scala | 5 +---- src/library/scala/collection/immutable/List.scala | 6 +----- src/library/scala/collection/immutable/Seq.scala | 6 +----- src/library/scala/collection/immutable/Stream.scala | 5 +---- src/library/scala/collection/immutable/Traversable.scala | 5 +---- src/library/scala/collection/mutable/ArrayBuffer.scala | 5 +---- src/library/scala/collection/mutable/Buffer.scala | 5 +---- src/library/scala/collection/mutable/DoubleLinkedList.scala | 5 +---- src/library/scala/collection/mutable/GenericArray.scala | 5 +---- src/library/scala/collection/mutable/IndexedSeq.scala | 5 +---- src/library/scala/collection/mutable/Iterable.scala | 5 +---- src/library/scala/collection/mutable/LinearSeq.scala | 5 +---- src/library/scala/collection/mutable/LinkedList.scala | 5 +---- src/library/scala/collection/mutable/ListBuffer.scala | 8 ++------ src/library/scala/collection/mutable/ResizableArray.scala | 5 +---- src/library/scala/collection/mutable/Seq.scala | 5 +---- src/library/scala/collection/mutable/Traversable.scala | 5 +---- 25 files changed, 28 insertions(+), 102 deletions(-) (limited to 'src') diff --git a/src/library/scala/collection/IndexedSeq.scala b/src/library/scala/collection/IndexedSeq.scala index d7945402bb..279651f31d 100644 --- a/src/library/scala/collection/IndexedSeq.scala +++ b/src/library/scala/collection/IndexedSeq.scala @@ -35,10 +35,7 @@ trait IndexedSeq[+A] extends Seq[A] object IndexedSeq extends SeqFactory[IndexedSeq] { override def empty[A]: IndexedSeq[A] = immutable.IndexedSeq.empty[A] - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, IndexedSeq[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, IndexedSeq[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, IndexedSeq[A]] = immutable.IndexedSeq.newBuilder[A] @deprecated("use collection.mutable.IndexedSeq instead") type Mutable[A] = scala.collection.mutable.IndexedSeq[A] diff --git a/src/library/scala/collection/Iterable.scala b/src/library/scala/collection/Iterable.scala index 7ebfdd09e7..1e80fafbfc 100644 --- a/src/library/scala/collection/Iterable.scala +++ b/src/library/scala/collection/Iterable.scala @@ -66,10 +66,7 @@ trait Iterable[+A] extends Traversable[A] */ object Iterable extends TraversableFactory[Iterable] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Iterable[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Iterable[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, Iterable[A]] = immutable.Iterable.newBuilder[A] /** The minimum element of a non-empty sequence of ordered elements */ diff --git a/src/library/scala/collection/LinearSeq.scala b/src/library/scala/collection/LinearSeq.scala index 3de68a1c2c..e81f2dba28 100644 --- a/src/library/scala/collection/LinearSeq.scala +++ b/src/library/scala/collection/LinearSeq.scala @@ -38,9 +38,6 @@ trait LinearSeq[+A] extends Seq[A] * @since 2.8 */ object LinearSeq extends SeqFactory[LinearSeq] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, LinearSeq[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, LinearSeq[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, LinearSeq[A]] = immutable.LinearSeq.newBuilder[A] } diff --git a/src/library/scala/collection/Seq.scala b/src/library/scala/collection/Seq.scala index dd939b408f..8ae857af32 100644 --- a/src/library/scala/collection/Seq.scala +++ b/src/library/scala/collection/Seq.scala @@ -46,10 +46,7 @@ object Seq extends SeqFactory[Seq] { private[collection] val hashSeed = "Seq".hashCode - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Seq[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Seq[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, Seq[A]] = immutable.Seq.newBuilder[A] @deprecated("use View instead") diff --git a/src/library/scala/collection/Traversable.scala b/src/library/scala/collection/Traversable.scala index 6abdc67a70..2cf66e80a2 100644 --- a/src/library/scala/collection/Traversable.scala +++ b/src/library/scala/collection/Traversable.scala @@ -105,10 +105,7 @@ object Traversable extends TraversableFactory[Traversable] { self => /** provide break functionality separate from client code */ private[collection] val breaks: Breaks = new Breaks - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Traversable[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Traversable[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, Traversable[A]] = immutable.Traversable.newBuilder[A] } diff --git a/src/library/scala/collection/generic/TraversableFactory.scala b/src/library/scala/collection/generic/TraversableFactory.scala index f5d548efa3..3e34f9097c 100644 --- a/src/library/scala/collection/generic/TraversableFactory.scala +++ b/src/library/scala/collection/generic/TraversableFactory.scala @@ -18,8 +18,9 @@ package generic abstract class TraversableFactory[CC[X] <: Traversable[X] with GenericTraversableTemplate[X, CC]] extends GenericCompanion[CC] { - abstract class GenericCanBuildFrom[A] extends CanBuildFrom[CC[_], A, CC[A]] { + class GenericCanBuildFrom[A] extends CanBuildFrom[CC[_], A, CC[A]] { def apply(from: Coll) = from.genericBuilder[A] + def apply() = newBuilder[A] } /** Concatenate all the argument collections into a single collection. diff --git a/src/library/scala/collection/immutable/IndexedSeq.scala b/src/library/scala/collection/immutable/IndexedSeq.scala index e3a29dce9c..f6a3fd81f4 100644 --- a/src/library/scala/collection/immutable/IndexedSeq.scala +++ b/src/library/scala/collection/immutable/IndexedSeq.scala @@ -36,10 +36,7 @@ trait IndexedSeq[+A] extends Seq[A] * @since 2.8 */ object IndexedSeq extends SeqFactory[IndexedSeq] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, IndexedSeq[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, IndexedSeq[A]] = new GenericCanBuildFrom[A] override def empty[A] = NewIndexedSeq.empty[A] def newBuilder[A]: Builder[A, IndexedSeq[A]] = NewIndexedSeq.newBuilder[A] } @@ -58,7 +55,7 @@ trait NewIndexedSeq[+A] extends IndexedSeq[A] object NewIndexedSeq extends SeqFactory[NewIndexedSeq] { private[immutable] val bf = new GenericCanBuildFrom[Nothing] { - def apply() = newBuilder[Nothing] + override def apply() = newBuilder[Nothing] } implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, NewIndexedSeq[A]] = bf.asInstanceOf[CanBuildFrom[Coll, A, NewIndexedSeq[A]]] diff --git a/src/library/scala/collection/immutable/Iterable.scala b/src/library/scala/collection/immutable/Iterable.scala index c3c67f5953..e18fc29be8 100644 --- a/src/library/scala/collection/immutable/Iterable.scala +++ b/src/library/scala/collection/immutable/Iterable.scala @@ -37,10 +37,7 @@ trait Iterable[+A] extends Traversable[A] * @since 2.8 */ object Iterable extends TraversableFactory[Iterable] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Iterable[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Iterable[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, Iterable[A]] = new mutable.ListBuffer } diff --git a/src/library/scala/collection/immutable/LinearSeq.scala b/src/library/scala/collection/immutable/LinearSeq.scala index af5b26b38b..cb0029dd78 100644 --- a/src/library/scala/collection/immutable/LinearSeq.scala +++ b/src/library/scala/collection/immutable/LinearSeq.scala @@ -31,9 +31,6 @@ trait LinearSeq[+A] extends Seq[A] * @since 2.8 */ object LinearSeq extends SeqFactory[LinearSeq] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, LinearSeq[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, LinearSeq[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, LinearSeq[A]] = new mutable.ListBuffer } diff --git a/src/library/scala/collection/immutable/List.scala b/src/library/scala/collection/immutable/List.scala index de6da65f81..59a5bfdf3a 100644 --- a/src/library/scala/collection/immutable/List.scala +++ b/src/library/scala/collection/immutable/List.scala @@ -502,11 +502,7 @@ object List extends SeqFactory[List] { import scala.collection.{Iterable, Seq, IndexedSeq} - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, List[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } - + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, List[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, List[A]] = new ListBuffer[A] override def empty[A]: List[A] = Nil diff --git a/src/library/scala/collection/immutable/Seq.scala b/src/library/scala/collection/immutable/Seq.scala index 3b8bb07ba0..91c38eeaf8 100644 --- a/src/library/scala/collection/immutable/Seq.scala +++ b/src/library/scala/collection/immutable/Seq.scala @@ -31,10 +31,6 @@ trait Seq[+A] extends Iterable[A] * @since 2.8 */ object Seq extends SeqFactory[Seq] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Seq[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } - + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Seq[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, Seq[A]] = new mutable.ListBuffer } diff --git a/src/library/scala/collection/immutable/Stream.scala b/src/library/scala/collection/immutable/Stream.scala index 903ec8446f..9855ce8a41 100644 --- a/src/library/scala/collection/immutable/Stream.scala +++ b/src/library/scala/collection/immutable/Stream.scala @@ -404,10 +404,7 @@ object Stream extends SeqFactory[Stream] { * Stream as its From type parameter must yield a stream as its result parameter. * If that assumption is broken, cast errors might result. */ - class StreamCanBuildFrom[A] extends GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } - + class StreamCanBuildFrom[A] extends GenericCanBuildFrom[A] implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Stream[A]] = new StreamCanBuildFrom[A] diff --git a/src/library/scala/collection/immutable/Traversable.scala b/src/library/scala/collection/immutable/Traversable.scala index 3d337c1992..239706ba71 100644 --- a/src/library/scala/collection/immutable/Traversable.scala +++ b/src/library/scala/collection/immutable/Traversable.scala @@ -37,9 +37,6 @@ trait Traversable[+A] extends scala.collection.Traversable[A] * @since 2.8 */ object Traversable extends TraversableFactory[Traversable] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Traversable[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Traversable[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, Traversable[A]] = new mutable.ListBuffer } diff --git a/src/library/scala/collection/mutable/ArrayBuffer.scala b/src/library/scala/collection/mutable/ArrayBuffer.scala index aabc696085..4e5f97f35c 100644 --- a/src/library/scala/collection/mutable/ArrayBuffer.scala +++ b/src/library/scala/collection/mutable/ArrayBuffer.scala @@ -168,10 +168,7 @@ class ArrayBuffer[A](override protected val initialSize: Int) * @since 2.8 */ object ArrayBuffer extends SeqFactory[ArrayBuffer] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, ArrayBuffer[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, ArrayBuffer[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, ArrayBuffer[A]] = new ArrayBuffer[A] } diff --git a/src/library/scala/collection/mutable/Buffer.scala b/src/library/scala/collection/mutable/Buffer.scala index 213a93aa5b..8f9bebce7c 100644 --- a/src/library/scala/collection/mutable/Buffer.scala +++ b/src/library/scala/collection/mutable/Buffer.scala @@ -34,10 +34,7 @@ trait Buffer[A] extends Seq[A] /** Factory object for Buffer trait. */ object Buffer extends SeqFactory[Buffer] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Buffer[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Buffer[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, Buffer[A]] = new ArrayBuffer } diff --git a/src/library/scala/collection/mutable/DoubleLinkedList.scala b/src/library/scala/collection/mutable/DoubleLinkedList.scala index a47ed40c54..6a4476d743 100644 --- a/src/library/scala/collection/mutable/DoubleLinkedList.scala +++ b/src/library/scala/collection/mutable/DoubleLinkedList.scala @@ -32,10 +32,7 @@ class DoubleLinkedList[A](_elem: A, _next: DoubleLinkedList[A]) extends LinearSe } object DoubleLinkedList extends SeqFactory[DoubleLinkedList] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, DoubleLinkedList[A]] = //new CanBuildFrom[Coll, A, DoubleLinkedList[A]] { : Coll) = from.traversableBuilder[A] } - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, DoubleLinkedList[A]] = new GenericCanBuildFrom[A] //new CanBuildFrom[Coll, A, DoubleLinkedList[A]] { : Coll) = from.traversableBuilder[A] } def newBuilder[A]: Builder[A, DoubleLinkedList[A]] = new Builder[A, DoubleLinkedList[A]] { var current: DoubleLinkedList[A] = _ diff --git a/src/library/scala/collection/mutable/GenericArray.scala b/src/library/scala/collection/mutable/GenericArray.scala index 290309e664..3af0ba8118 100644 --- a/src/library/scala/collection/mutable/GenericArray.scala +++ b/src/library/scala/collection/mutable/GenericArray.scala @@ -68,10 +68,7 @@ extends IndexedSeq[A] } object GenericArray extends SeqFactory[GenericArray] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, GenericArray[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, GenericArray[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, GenericArray[A]] = new ArrayBuffer[A] mapResult { buf => val result = new GenericArray[A](buf.length) diff --git a/src/library/scala/collection/mutable/IndexedSeq.scala b/src/library/scala/collection/mutable/IndexedSeq.scala index 25382d4d5f..540e57fca3 100644 --- a/src/library/scala/collection/mutable/IndexedSeq.scala +++ b/src/library/scala/collection/mutable/IndexedSeq.scala @@ -25,9 +25,6 @@ trait IndexedSeq[A] extends Seq[A] } object IndexedSeq extends SeqFactory[IndexedSeq] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, IndexedSeq[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, IndexedSeq[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, IndexedSeq[A]] = new ArrayBuffer[A] } diff --git a/src/library/scala/collection/mutable/Iterable.scala b/src/library/scala/collection/mutable/Iterable.scala index 40195623b8..5d20664730 100644 --- a/src/library/scala/collection/mutable/Iterable.scala +++ b/src/library/scala/collection/mutable/Iterable.scala @@ -36,10 +36,7 @@ trait Iterable[A] extends Traversable[A] * @version 2.8 */ object Iterable extends TraversableFactory[Iterable] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Iterable[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Iterable[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, Iterable[A]] = new ArrayBuffer } diff --git a/src/library/scala/collection/mutable/LinearSeq.scala b/src/library/scala/collection/mutable/LinearSeq.scala index 649d6bdd11..f23b68c3c4 100644 --- a/src/library/scala/collection/mutable/LinearSeq.scala +++ b/src/library/scala/collection/mutable/LinearSeq.scala @@ -27,9 +27,6 @@ trait LinearSeq[A] extends Seq[A] } object LinearSeq extends SeqFactory[LinearSeq] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, LinearSeq[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, LinearSeq[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, LinearSeq[A]] = new MutableList[A] } diff --git a/src/library/scala/collection/mutable/LinkedList.scala b/src/library/scala/collection/mutable/LinkedList.scala index 9d7adb1ebc..74fe104a27 100644 --- a/src/library/scala/collection/mutable/LinkedList.scala +++ b/src/library/scala/collection/mutable/LinkedList.scala @@ -32,10 +32,7 @@ class LinkedList[A](_elem: A, _next: LinkedList[A]) extends LinearSeq[A] } object LinkedList extends SeqFactory[LinkedList] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, LinkedList[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, LinkedList[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, LinkedList[A]] = (new MutableList) mapResult ((l: MutableList[A]) => l.toLinkedList) } diff --git a/src/library/scala/collection/mutable/ListBuffer.scala b/src/library/scala/collection/mutable/ListBuffer.scala index 422c23f9ea..3891357b78 100644 --- a/src/library/scala/collection/mutable/ListBuffer.scala +++ b/src/library/scala/collection/mutable/ListBuffer.scala @@ -329,10 +329,6 @@ final class ListBuffer[A] * @version 2.8 */ object ListBuffer extends SeqFactory[ListBuffer] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, ListBuffer[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } - def newBuilder[A]: Builder[A, ListBuffer[A]] = - new AddingBuilder(new ListBuffer[A]) + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, ListBuffer[A]] = new GenericCanBuildFrom[A] + def newBuilder[A]: Builder[A, ListBuffer[A]] = new AddingBuilder(new ListBuffer[A]) } diff --git a/src/library/scala/collection/mutable/ResizableArray.scala b/src/library/scala/collection/mutable/ResizableArray.scala index 32485d36c6..a433d4f7f0 100644 --- a/src/library/scala/collection/mutable/ResizableArray.scala +++ b/src/library/scala/collection/mutable/ResizableArray.scala @@ -115,9 +115,6 @@ trait ResizableArray[A] extends IndexedSeq[A] } object ResizableArray extends SeqFactory[ResizableArray] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, ResizableArray[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, ResizableArray[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, ResizableArray[A]] = new ArrayBuffer[A] } diff --git a/src/library/scala/collection/mutable/Seq.scala b/src/library/scala/collection/mutable/Seq.scala index 12786de749..e028d09923 100644 --- a/src/library/scala/collection/mutable/Seq.scala +++ b/src/library/scala/collection/mutable/Seq.scala @@ -36,9 +36,6 @@ trait Seq[A] extends Iterable[A] * @since 2.8 */ object Seq extends SeqFactory[Seq] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Seq[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Seq[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, Seq[A]] = new ArrayBuffer } diff --git a/src/library/scala/collection/mutable/Traversable.scala b/src/library/scala/collection/mutable/Traversable.scala index 947d8d3edd..9e18368111 100644 --- a/src/library/scala/collection/mutable/Traversable.scala +++ b/src/library/scala/collection/mutable/Traversable.scala @@ -34,10 +34,7 @@ trait Traversable[A] extends scala.collection.Traversable[A] * @version 2.8 */ object Traversable extends TraversableFactory[Traversable] { - implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Traversable[A]] = - new GenericCanBuildFrom[A] { - def apply() = newBuilder[A] - } + implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, Traversable[A]] = new GenericCanBuildFrom[A] def newBuilder[A]: Builder[A, Traversable[A]] = new ArrayBuffer } -- cgit v1.2.3