@@ -23,8 +23,9 @@ import scala.math.Ordering
2323
2424/** Base trait for indexed sequences that have efficient `apply` and `length` */
2525trait IndexedSeq [+ A ] extends Seq [A ]
26- with StrictIndexedSeqOps [A , IndexedSeq , IndexedSeq [A ]]
27- with IterableFactoryDefaults [A , IndexedSeq ] {
26+ with IndexedSeqOps [A , IndexedSeq , IndexedSeq [A ]]
27+ with IterableFactoryDefaults [A , IndexedSeq ]
28+ with caps.Pure {
2829 @ nowarn(""" cat=deprecation&origin=scala\.collection\.Iterable\.stringPrefix""" )
2930 override protected [this ] def stringPrefix : String = " IndexedSeq"
3031
@@ -34,15 +35,6 @@ trait IndexedSeq[+A] extends Seq[A]
3435@ SerialVersionUID (3L )
3536object IndexedSeq extends SeqFactory .Delegate [IndexedSeq ](immutable.IndexedSeq )
3637
37- transparent trait StrictIndexedSeqOps [+ A , + CC [_] <: caps.Pure , + C ] extends Any with StrictSeqOps [A , CC , C ] with IndexedSeqOps [A , CC , C ] {
38- override def map [B ](f : A => B ): CC [B ] = iterableFactory.from(new IndexedSeqView .Map (this , f))
39- override def sliding (size : Int , step : Int ): Iterator [C ] = {
40- require(size >= 1 && step >= 1 , f " size= $size%d and step= $step%d, but both must be positive " )
41- val it = new IndexedSeqSlidingIterator [A , CC , C ](this , size, step)
42- it.asInstanceOf [Iterator [C ]] // TODO: seems like CC cannot figure this out yet
43- }
44- }
45-
4638/** Base trait for indexed Seq operations */
4739transparent trait IndexedSeqOps [+ A , + CC [_], + C ] extends Any with SeqOps [A , CC , C ] { self : IndexedSeqOps [A , CC , C ]^ =>
4840
0 commit comments