summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-05-06 14:57:56 +0000
committerPaul Phillips <paulp@improving.org>2010-05-06 14:57:56 +0000
commitcb35c38f14f6a53c38966bde8e64dcfa9af17918 (patch)
treed048820d306d711bafec4d9137696340ec1884e6
parent7cb9037e17f9202c4fb43ef7dc0e389e48f2ed49 (diff)
downloadscala-cb35c38f14f6a53c38966bde8e64dcfa9af17918.tar.gz
scala-cb35c38f14f6a53c38966bde8e64dcfa9af17918.tar.bz2
scala-cb35c38f14f6a53c38966bde8e64dcfa9af17918.zip
Fixed bug in transpose, closes #3397, no review.
-rw-r--r--src/library/scala/collection/generic/GenericTraversableTemplate.scala2
-rw-r--r--test/files/run/bug3397.scala7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/library/scala/collection/generic/GenericTraversableTemplate.scala b/src/library/scala/collection/generic/GenericTraversableTemplate.scala
index ecbfa8c20c..263e1902a0 100644
--- a/src/library/scala/collection/generic/GenericTraversableTemplate.scala
+++ b/src/library/scala/collection/generic/GenericTraversableTemplate.scala
@@ -108,7 +108,7 @@ trait GenericTraversableTemplate[+A, +CC[X] <: Traversable[X]] extends HasNewBui
* the ''n''th column of this $coll.
*/
def transpose[B](implicit asTraversable: A => /*<:<!!!*/ Traversable[B]): CC[CC[B] @uncheckedVariance] = {
- val bs: IndexedSeq[Builder[B, CC[B]]] = asTraversable(head).map(_ => genericBuilder[B]).toIndexedSeq
+ val bs: IndexedSeq[Builder[B, CC[B]]] = IndexedSeq.fill(asTraversable(head).size)(genericBuilder[B])
for (xs <- this) {
var i = 0
for (x <- asTraversable(xs)) {
diff --git a/test/files/run/bug3397.scala b/test/files/run/bug3397.scala
new file mode 100644
index 0000000000..2c8cbed3ab
--- /dev/null
+++ b/test/files/run/bug3397.scala
@@ -0,0 +1,7 @@
+object Test {
+ def main(args: Array[String]): Unit = {
+ val x = Seq(Set(1,2,3),Set(4,5,6),Set(7,8,9)).transpose
+
+ ()
+ }
+}