@@ -258,7 +258,7 @@ object IArray:
258258 arr.clone.asInstanceOf [Array [T ]]
259259
260260 extension [T ](arr : IArray [T ])
261- def ++ [U >: T : ClassTag ](suffix : IArray [U ]): IArray [U ] = genericArrayOps(arr) ++ suffix.toSeq
261+ def ++ [U >: T : ClassTag ](suffix : IArray [U ]): IArray [U ] = genericArrayOps(arr) ++ IArray .genericWrapArray(suffix)
262262 def ++ [U >: T : ClassTag ](suffix : IterableOnce [U ]): IArray [U ] = genericArrayOps(arr) ++ suffix
263263 def :+ [U >: T : ClassTag ](x : U ): IArray [U ] = genericArrayOps(arr) :+ x
264264 def :++ [U >: T : ClassTag ](suffix : IArray [U ]): IArray [U ] = genericArrayOps(arr) :++ suffix
@@ -268,11 +268,11 @@ object IArray:
268268 def appendedAll [U >: T : ClassTag ](suffix : IterableOnce [U ]^ ): IArray [U ] = genericArrayOps(arr).appendedAll(suffix)
269269 def collect [U : ClassTag ](pf : PartialFunction [T , U ]^ ): IArray [U ] = genericArrayOps(arr).collect(pf)
270270 def collectFirst [U ](f : PartialFunction [T , U ]^ ): Option [U ] = genericArrayOps(arr).collectFirst(f)
271- def combinations (n : Int ): Iterator [IArray [T ]] = genericArrayOps (arr).combinations(n)
271+ def combinations (n : Int ): Iterator [IArray [T ]] = IArray .genericWrapArray (arr).combinations(n).map(_.unsafeArray. asInstanceOf [ IArray [ T ]] )
272272 def concat [U >: T : ClassTag ](suffix : IArray [U ]): IArray [U ] = genericArrayOps(arr).concat(suffix)
273273 def concat [U >: T : ClassTag ](suffix : IterableOnce [U ]^ ): IArray [U ] = genericArrayOps(arr).concat(suffix)
274- def diff [U >: T ](that : IArray [U ]): IArray [T ] = genericArrayOps (arr).diff(that.toSeq)
275- def diff [U >: T ](that : Seq [U ]): IArray [T ] = genericArrayOps (arr).diff(that)
274+ def diff [U >: T ](that : IArray [U ]): IArray [T ] = IArray .genericWrapArray (arr).diff(IArray .genericWrapArray(that)).unsafeArray. asInstanceOf [ IArray [ T ]]
275+ def diff [U >: T ](that : Seq [U ]): IArray [T ] = IArray .genericWrapArray (arr).diff(that).unsafeArray. asInstanceOf [ IArray [ T ]]
276276 def distinct : IArray [T ] = genericArrayOps(arr).distinct
277277 def distinctBy [U ](f : T -> U ): IArray [T ] = genericArrayOps(arr).distinctBy(f)
278278 def startsWith [U >: T ](that : IArray [U ]): Boolean = genericArrayOps(arr).startsWith(that, 0 )
@@ -285,24 +285,24 @@ object IArray:
285285 def groupMap [K , U : ClassTag ](key : T => K )(f : T => U ): Map [K , IArray [U ]] = genericArrayOps(arr).groupMap(key)(f)
286286 def grouped (size : Int ): Iterator [IArray [T ]] = genericArrayOps(arr).grouped(size)
287287 def inits : Iterator [IArray [T ]] = genericArrayOps(arr).inits
288- def intersect [U >: T ](that : IArray [U ]): IArray [T ] = genericArrayOps (arr).intersect(that)
289- def intersect [U >: T ](that : Seq [U ]): IArray [T ] = genericArrayOps (arr).intersect(that)
288+ def intersect [U >: T ](that : IArray [U ]): IArray [T ] = IArray .genericWrapArray (arr).intersect(IArray .genericWrapArray( that)).unsafeArray. asInstanceOf [ IArray [ T ]]
289+ def intersect [U >: T ](that : Seq [U ]): IArray [T ] = IArray .genericWrapArray (arr).intersect(that).unsafeArray. asInstanceOf [ IArray [ T ]]
290290 def lazyZip [U ](that : IArray [U ]): LazyZip2 [T , U , IArray [T ]] = genericArrayOps(arr).lazyZip[U ](that).asInstanceOf [LazyZip2 [T , U , IArray [T ]]]
291291 def lazyZip [U ](that : Iterable [U ]^ ): LazyZip2 [T , U , IArray [T ]] = genericArrayOps(arr).lazyZip[U ](that).asInstanceOf [LazyZip2 [T , U , IArray [T ]]]
292292 def lengthCompare (len : Int ): Int = genericArrayOps(arr).lengthCompare(len)
293293 def padTo [U >: T : ClassTag ](len : Int , elem : U ): IArray [U ] = genericArrayOps(arr).padTo(len, elem)
294294 def partitionMap [T1 : ClassTag , T2 : ClassTag ](f : T => Either [T1 , T2 ]): (IArray [T1 ], IArray [T2 ]) = genericArrayOps(arr).partitionMap(f)
295295 def patch [U >: T : ClassTag ](from : Int , other : IterableOnce [U ], replaced : Int ): IArray [U ] = genericArrayOps(arr).patch(from, other, replaced)
296- def permutations : Iterator [IArray [T ]] = genericArrayOps (arr).permutations
296+ def permutations : Iterator [IArray [T ]] = IArray .genericWrapArray (arr).permutations.map(_.unsafeArray. asInstanceOf [ IArray [ T ]])
297297 def prepended [U >: T : ClassTag ](x : U ): IArray [U ] = genericArrayOps(arr).prepended(x)
298298 def prependedAll [U >: T : ClassTag ](prefix : IterableOnce [U ]^ ): IArray [U ] = genericArrayOps(arr).prependedAll(prefix)
299299 def reverseIterator : Iterator [T ] = genericArrayOps(arr).reverseIterator
300- def search [U >: T ](elem : U )(using Ordering [U ]): Searching .SearchResult = arr.toSeq .search(elem)
301- def search [U >: T ](elem : U , from : Int , to : Int )(using Ordering [U ]): Searching .SearchResult = arr.toSeq .search(elem, from, to)
302- def sizeCompare (that : IArray [Any ]): Int = arr.toSeq .sizeCompare(that)
303- def sizeCompare (that : Iterable [? ]): Int = arr.toSeq .sizeCompare(that)
300+ def search [U >: T ](elem : U )(using Ordering [U ]): Searching .SearchResult = IArray .genericWrapArray(arr) .search(elem)
301+ def search [U >: T ](elem : U , from : Int , to : Int )(using Ordering [U ]): Searching .SearchResult = IArray .genericWrapArray(arr) .search(elem, from, to)
302+ def sizeCompare (that : IArray [Any ]): Int = IArray .genericWrapArray(arr) .sizeCompare(that)
303+ def sizeCompare (that : Iterable [? ]): Int = IArray .genericWrapArray(arr) .sizeCompare(that)
304304 def sizeCompare (otherSize : Int ): Int = genericArrayOps(arr).sizeCompare(otherSize)
305- def sliding (size : Int , step : Int = 1 ): Iterator [IArray [T ]] = genericArrayOps (arr).sliding(size, step)
305+ def sliding (size : Int , step : Int = 1 ): Iterator [IArray [T ]] = IArray .genericWrapArray (arr).sliding(size, step).map(_.unsafeArray. asInstanceOf [ IArray [ T ]] )
306306 def stepper [S <: Stepper [? ]](using StepperShape [T , S ]): S = genericArrayOps(arr).stepper[S ]
307307 def tails : Iterator [IArray [T ]] = genericArrayOps(arr).tails
308308 def tapEach [U ](f : (T ) => U ): IArray [T ] =
0 commit comments