summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-05-19 10:30:41 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-05-19 10:30:41 +0000
commitda86fbe4a8a8ed08afa321dd01c0cf5a6b57df2f (patch)
tree514a3f12ea4e7f074383fd15ac2456950804ad0a
parentd6191fcdbff5f16e857e92dd10cbabe41ab9b66d (diff)
downloadscala-da86fbe4a8a8ed08afa321dd01c0cf5a6b57df2f.tar.gz
scala-da86fbe4a8a8ed08afa321dd01c0cf5a6b57df2f.tar.bz2
scala-da86fbe4a8a8ed08afa321dd01c0cf5a6b57df2f.zip
Fixes #3422. No review necessary.
-rw-r--r--src/library/scala/collection/TraversableLike.scala2
-rw-r--r--test/files/run/groupby.scala18
2 files changed, 19 insertions, 1 deletions
diff --git a/src/library/scala/collection/TraversableLike.scala b/src/library/scala/collection/TraversableLike.scala
index e688664bed..50259a1ee8 100644
--- a/src/library/scala/collection/TraversableLike.scala
+++ b/src/library/scala/collection/TraversableLike.scala
@@ -338,7 +338,7 @@ trait TraversableLike[+A, +Repr] extends HasNewBuilder[A, Repr] with Traversable
}
bldr += elem
}
- m mapValues (_.result)
+ m map { case (k, b) => (k, b.result) }
}
/** Tests whether a predicate holds for all elements of this $coll.
diff --git a/test/files/run/groupby.scala b/test/files/run/groupby.scala
new file mode 100644
index 0000000000..895410e34d
--- /dev/null
+++ b/test/files/run/groupby.scala
@@ -0,0 +1,18 @@
+
+
+
+// Fixes #3422
+object Test {
+
+ def main(args: Array[String]) {
+ val arr = Array.range(0,10)
+ val map = arr groupBy (_%2)
+ val v1 = map(0)
+ val v2 = map(0)
+ // this should hold, of course, assuming also that group by returns a regular
+ // map implementation, and does nothing fancy - and it should default just a
+ // hash map by default.
+ assert(v1 eq v2)
+ }
+
+}