Skip to content

Commit cd00be9

Browse files
authored
Merge pull request #581 from RustedBones/typed-can-build-from
Make ArraySeq extends IndexedSeqOptimized
2 parents 4fbfad2 + 9d64f5c commit cd00be9

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

compat/src/main/scala-2.11_2.12/scala/collection/compat/immutable/ArraySeq.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ package scala.collection.compat.immutable
1515
import java.util.Arrays
1616

1717
import scala.annotation.unchecked.uncheckedVariance
18-
import scala.collection.AbstractSeq
18+
import scala.collection.{AbstractSeq, IndexedSeqOptimized}
1919
import scala.collection.generic._
2020
import scala.collection.immutable.IndexedSeq
2121
import scala.collection.mutable.{ArrayBuilder, Builder, WrappedArrayBuilder}
@@ -34,7 +34,10 @@ import scala.util.hashing.MurmurHash3
3434
* @define mayNotTerminateInf
3535
* @define willNotTerminateInf
3636
*/
37-
abstract class ArraySeq[+T] extends AbstractSeq[T] with IndexedSeq[T] {
37+
abstract class ArraySeq[+T]
38+
extends AbstractSeq[T]
39+
with IndexedSeq[T]
40+
with IndexedSeqOptimized[T, ArraySeq[T]] {
3841

3942
override protected[this] def thisCollection: ArraySeq[T] = this
4043

compat/src/test/scala/test/scala/collection/ArraySeqTest.scala

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,11 @@ class ArraySeqTest {
7272
Assert.assertEquals(ArraySeq[T](), array.slice(1, 1))
7373
Assert.assertEquals(ArraySeq[T](), array.slice(2, 1))
7474
}
75+
76+
@Test def ArraySeqIndexedSeqOptimized(): Unit = {
77+
val x = ArraySeq(1, 2)
78+
val y = ArraySeq(3, 4)
79+
val z: ArraySeq[Int] = x ++ y
80+
assert(z.toList == List(1, 2, 3, 4))
81+
}
7582
}

0 commit comments

Comments
 (0)