Skip to content

Commit 9f06766

Browse files
authored
Merge pull request scala#5751 from SethTisue/bring-back-charsequence-implicits
make Predef.*CharSequence implicits public again
2 parents c348b7e + 9cd3fb6 commit 9f06766

File tree

2 files changed

+26
-10
lines changed

2 files changed

+26
-10
lines changed

src/library/scala/Predef.scala

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -314,19 +314,19 @@ object Predef extends LowPriorityImplicits {
314314
def +(other: String): String = String.valueOf(self) + other
315315
}
316316

317-
private[scala] implicit final class SeqCharSequence(val __sequenceOfChars: scala.collection.IndexedSeq[Char]) extends CharSequence {
318-
def length: Int = __sequenceOfChars.length
319-
def charAt(index: Int): Char = __sequenceOfChars(index)
320-
def subSequence(start: Int, end: Int): CharSequence = new SeqCharSequence(__sequenceOfChars.slice(start, end))
321-
override def toString = __sequenceOfChars mkString ""
317+
implicit final class SeqCharSequence(sequenceOfChars: scala.collection.IndexedSeq[Char]) extends CharSequence {
318+
def length: Int = sequenceOfChars.length
319+
def charAt(index: Int): Char = sequenceOfChars(index)
320+
def subSequence(start: Int, end: Int): CharSequence = new SeqCharSequence(sequenceOfChars.slice(start, end))
321+
override def toString = sequenceOfChars mkString ""
322322
}
323323

324324
/** @group implicit-classes-char */
325-
private[scala] implicit final class ArrayCharSequence(val __arrayOfChars: Array[Char]) extends CharSequence {
326-
def length: Int = __arrayOfChars.length
327-
def charAt(index: Int): Char = __arrayOfChars(index)
328-
def subSequence(start: Int, end: Int): CharSequence = new runtime.ArrayCharSequence(__arrayOfChars, start, end)
329-
override def toString = __arrayOfChars mkString ""
325+
implicit final class ArrayCharSequence(arrayOfChars: Array[Char]) extends CharSequence {
326+
def length: Int = arrayOfChars.length
327+
def charAt(index: Int): Char = arrayOfChars(index)
328+
def subSequence(start: Int, end: Int): CharSequence = new runtime.ArrayCharSequence(arrayOfChars, start, end)
329+
override def toString = arrayOfChars mkString ""
330330
}
331331

332332
implicit val StringCanBuildFrom: CanBuildFrom[String, Char, String] = new CanBuildFrom[String, Char, String] {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package scala
2+
3+
import org.junit.Test
4+
import org.junit.Assert._
5+
import org.junit.runner.RunWith
6+
import org.junit.runners.JUnit4
7+
8+
// these two implicit conversions come from Predef
9+
10+
@RunWith(classOf[JUnit4])
11+
class CharSequenceImplicitsTests {
12+
@Test def arrayAsCharSequence(): Unit =
13+
assertEquals("ab", (Array ('a', 'b'): CharSequence).toString)
14+
@Test def indexedSeqAsCharSequence(): Unit =
15+
assertEquals("ab", (IndexedSeq('a', 'b'): CharSequence).toString)
16+
}

0 commit comments

Comments
 (0)