diff options
author | Paul Phillips <paulp@improving.org> | 2011-02-25 19:46:52 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-02-25 19:46:52 +0000 |
commit | 34d3f1cb95b1cc0fba242296026e546366c483d9 (patch) | |
tree | 2007c4f9d36eb4e1c4bc24cbf02577ef0db548d3 /src/library/scala/collection/TraversableViewLike.scala | |
parent | 49e8a4eef6d2e650f80f4e4817973102d1ea6335 (diff) | |
download | scala-34d3f1cb95b1cc0fba242296026e546366c483d9.tar.gz scala-34d3f1cb95b1cc0fba242296026e546366c483d9.tar.bz2 scala-34d3f1cb95b1cc0fba242296026e546366c483d9.zip |
Made mkString work correctly on views.
about how to obtain a String and how not to. Closes #4297, no review.
Diffstat (limited to 'src/library/scala/collection/TraversableViewLike.scala')
-rw-r--r-- | src/library/scala/collection/TraversableViewLike.scala | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/library/scala/collection/TraversableViewLike.scala b/src/library/scala/collection/TraversableViewLike.scala index 0c01cb893e..8d94a7f381 100644 --- a/src/library/scala/collection/TraversableViewLike.scala +++ b/src/library/scala/collection/TraversableViewLike.scala @@ -200,9 +200,19 @@ self => buf.result } + // Have to overload all three to work around #4299. The overload + // is because mkString should force a view but toString should not. + override def mkString: String = mkString("") + override def mkString(sep: String): String = mkString("", sep, "") + override def mkString(start: String, sep: String, end: String): String = { + thisSeq.addString(new StringBuilder(), start, sep, end).toString + } + override def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder = b append start append "..." append end + override def toString = stringPrefix+"(...)" + override def filter(p: A => Boolean): This = newFiltered(p).asInstanceOf[This] override def withFilter(p: A => Boolean): This = newFiltered(p).asInstanceOf[This] override def partition(p: A => Boolean): (This, This) = (filter(p), filter(!p(_))) |