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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy