diff options
-rw-r--r-- | src/library/scala/collection/TraversableViewLike.scala | 2 | ||||
-rw-r--r-- | test/files/run/bug4660.scala | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/library/scala/collection/TraversableViewLike.scala b/src/library/scala/collection/TraversableViewLike.scala index 23e967aea0..36fe6251df 100644 --- a/src/library/scala/collection/TraversableViewLike.scala +++ b/src/library/scala/collection/TraversableViewLike.scala @@ -169,7 +169,7 @@ trait TraversableViewLike[+A, newForced(thisSeq.scanRight(z)(op)).asInstanceOf[That] override def groupBy[K](f: A => K): immutable.Map[K, This] = - thisSeq.groupBy(f).mapValues(xs => newForced(thisSeq)) + thisSeq groupBy f mapValues (xs => newForced(xs)) override def toString = viewToString } diff --git a/test/files/run/bug4660.scala b/test/files/run/bug4660.scala new file mode 100644 index 0000000000..e57bb4bf25 --- /dev/null +++ b/test/files/run/bug4660.scala @@ -0,0 +1,11 @@ +object Test { + def main(args: Array[String]): Unit = { + val traversable = 1 to 20 map (_.toString) + def normalize(m: Map[Char, Traversable[String]]) = m.map { case (k,v) => (k, v.toList) } + + val groupedFromView = (traversable view).groupBy(_(0)) + val groupedFromStrict = traversable.groupBy(_(0)) + + assert(normalize(groupedFromView) == normalize(groupedFromStrict)) + } +} |