summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library/scala/collection/immutable/WrappedString.scala3
-rw-r--r--test/files/run/bug4122.scala14
2 files changed, 16 insertions, 1 deletions
diff --git a/src/library/scala/collection/immutable/WrappedString.scala b/src/library/scala/collection/immutable/WrappedString.scala
index 62a39213d5..3a689bab85 100644
--- a/src/library/scala/collection/immutable/WrappedString.scala
+++ b/src/library/scala/collection/immutable/WrappedString.scala
@@ -29,7 +29,7 @@ import scala.util.matching.Regex
* @define Coll WrappedString
* @define coll wrapped string
*/
-class WrappedString(override val self: String) extends IndexedSeq[Char] with StringLike[WrappedString] with Proxy {
+class WrappedString(val self: String) extends IndexedSeq[Char] with StringLike[WrappedString] {
override protected[this] def thisCollection: WrappedString = this
override protected[this] def toCollection(repr: WrappedString): WrappedString = repr
@@ -39,6 +39,7 @@ class WrappedString(override val self: String) extends IndexedSeq[Char] with Str
override def slice(from: Int, until: Int): WrappedString =
new WrappedString(self.substring(from max 0, until min self.length))
+ override def toString = self
}
/** A companion object for wrapped strings.
diff --git a/test/files/run/bug4122.scala b/test/files/run/bug4122.scala
new file mode 100644
index 0000000000..5ff570c009
--- /dev/null
+++ b/test/files/run/bug4122.scala
@@ -0,0 +1,14 @@
+object Test {
+ val sw: Seq[Char] = "ab"
+ val sw2: Seq[Char] = Array('a', 'b')
+ val sw3 = Seq('a', 'b')
+ val sw4 = "ab".toList
+ val all = List(sw, sw2, sw3, sw4)
+
+ def main(args: Array[String]): Unit = {
+ for (s1 <- all ; s2 <- all) {
+ assert(s1 == s2, s1 + " != " + s2)
+ assert(s1.## == s2.##, s1 + ".## != " + s2 + ".##")
+ }
+ }
+}