From 1ededc1ab0be9565ab75f971cba7604ce977803c Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Thu, 19 Aug 2010 12:26:25 +0000 Subject: closes #2788. the added flexibility'll cost ya one ClassManifest review by phaller --- src/library/scala/collection/mutable/ArrayOps.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/library/scala/collection/mutable/ArrayOps.scala b/src/library/scala/collection/mutable/ArrayOps.scala index 98d635ecee..a465e9152c 100644 --- a/src/library/scala/collection/mutable/ArrayOps.scala +++ b/src/library/scala/collection/mutable/ArrayOps.scala @@ -64,10 +64,11 @@ abstract class ArrayOps[T] extends ArrayLike[T, Array[T]] with Parallelizable[Pa * @param asArray A function that converts elements of this array to rows - arrays of type `U`. * @return An array obtained by concatenating rows of this array. */ - def flatten[U](implicit asArray: T => /*<: collection.Traversable[U], m: ClassManifest[U]): Array[U] = { + val b = Array.newBuilder[U] + b.sizeHint(map{case is: IndexedSeq[_] => is.size case _ => 0} sum) for (xs <- this) - b ++= asArray(xs) + b ++= asTrav(xs) b.result } -- cgit v1.2.3