@@ -42,49 +42,49 @@ object opaques
4242 /** All the methods on Array[T] that don't mutate in-place can be used with IArray[T].
4343 */
4444 def [T , U >: T : ClassTag ](arr : IArray [T ]) ++ (that : IArray [U ]): IArray [U ] =
45- (arr.asInstanceOf [Array [T ]] ++ that.asInstanceOf [Array [U ]]).asInstanceOf
45+ (arr.asInstanceOf [Array [T ]] ++ that.asInstanceOf [Array [U ]]).asInstanceOf [ IArray [ U ]]
4646
47- def [T ](arr : IArray [T ])contains(elem : T ): Boolean =
47+ def [T ](arr : IArray [T ]) contains(elem : T ): Boolean =
4848 arr.asInstanceOf [Array [T ]].contains(elem)
4949
5050 def [T ](arr : IArray [T ]) count(p : T => Boolean ): Int =
5151 arr.asInstanceOf [Array [T ]].count(p)
5252
5353 def [T ](arr : IArray [T ]) drop(n : Int ): IArray [T ] =
54- arr.asInstanceOf [Array [T ]].drop(n).asInstanceOf
54+ arr.asInstanceOf [Array [T ]].drop(n).asInstanceOf [ IArray [ T ]]
5555
5656 def [T ](arr : IArray [T ]) dropRight(n : Int ): IArray [T ] =
57- arr.asInstanceOf [Array [T ]].dropRight(n).asInstanceOf
57+ arr.asInstanceOf [Array [T ]].dropRight(n).asInstanceOf [ IArray [ T ]]
5858
5959 def [T ](arr : IArray [T ]) dropWhile(p : T => Boolean ): IArray [T ] =
60- arr.asInstanceOf [Array [T ]].dropWhile(p).asInstanceOf
60+ arr.asInstanceOf [Array [T ]].dropWhile(p).asInstanceOf [ IArray [ T ]]
6161
6262 def [T ](arr : IArray [T ]) exists(p : T => Boolean ): IArray [T ] =
63- arr.asInstanceOf [Array [T ]].exists(p).asInstanceOf
63+ arr.asInstanceOf [Array [T ]].exists(p).asInstanceOf [ IArray [ T ]]
6464
6565 def [T ](arr : IArray [T ]) filter(p : T => Boolean ): IArray [T ] =
66- arr.asInstanceOf [Array [T ]].filter(p).asInstanceOf
66+ arr.asInstanceOf [Array [T ]].filter(p).asInstanceOf [ IArray [ T ]]
6767
6868 def [T ](arr : IArray [T ]) filterNot(p : T => Boolean ): IArray [T ] =
69- arr.asInstanceOf [Array [T ]].filterNot(p).asInstanceOf
69+ arr.asInstanceOf [Array [T ]].filterNot(p).asInstanceOf [ IArray [ T ]]
7070
7171 def [T ](arr : IArray [T ]) find(p : T => Boolean ): Option [T ] =
72- arr.asInstanceOf [Array [T ]].find(p). asInstanceOf
72+ arr.asInstanceOf [Array [T ]].find(p)
7373
7474 def [T , U : ClassTag ](arr : IArray [T ]) flatMap(f : T => IterableOnce [U ]): IArray [U ] =
75- arr.asInstanceOf [Array [T ]].flatMap(f).asInstanceOf
75+ arr.asInstanceOf [Array [T ]].flatMap(f).asInstanceOf [ IArray [ U ]]
7676
7777 def [T , U : ClassTag ](arr : IArray [T ]) flatten(given T => Iterable [U ]): IArray [U ] =
78- arr.asInstanceOf [Array [T ]].flatten.asInstanceOf
78+ arr.asInstanceOf [Array [T ]].flatten.asInstanceOf [ IArray [ U ]]
7979
8080 def [T , U >: T : ClassTag ](arr : IArray [T ]) fold(z : U )(op : (U , U ) => U ): U =
81- arr.asInstanceOf [Array [T ]].fold(z)(op). asInstanceOf
81+ arr.asInstanceOf [Array [T ]].fold(z)(op)
8282
8383 def [T , U >: T : ClassTag ](arr : IArray [T ]) foldLeft(z : U )(op : (U , T ) => U ): U =
84- arr.asInstanceOf [Array [T ]].foldLeft(z)(op). asInstanceOf
84+ arr.asInstanceOf [Array [T ]].foldLeft(z)(op)
8585
8686 def [T , U >: T : ClassTag ](arr : IArray [T ]) foldRight(z : U )(op : (T , U ) => U ): U =
87- arr.asInstanceOf [Array [T ]].foldRight(z)(op). asInstanceOf
87+ arr.asInstanceOf [Array [T ]].foldRight(z)(op)
8888
8989 def [T ](arr : IArray [T ]) forall(p : T => Boolean ): Boolean =
9090 arr.asInstanceOf [Array [T ]].forall(p)
@@ -105,10 +105,10 @@ object opaques
105105 arr.asInstanceOf [Array [T ]].indexWhere(p, from)
106106
107107 def [T ](arr : IArray [T ]) indices : Range =
108- arr.asInstanceOf [Array [T ]].indices. asInstanceOf
108+ arr.asInstanceOf [Array [T ]].indices
109109
110110 def [T ](arr : IArray [T ]) init : IArray [T ] =
111- arr.asInstanceOf [Array [T ]].init.asInstanceOf
111+ arr.asInstanceOf [Array [T ]].init.asInstanceOf [ IArray [ T ]]
112112
113113 def [T ](arr : IArray [T ]) isEmpty : Boolean =
114114 arr.asInstanceOf [Array [T ]].isEmpty
@@ -129,7 +129,7 @@ object opaques
129129 arr.asInstanceOf [Array [T ]].lastIndexWhere(p, from)
130130
131131 def [T , U : ClassTag ](arr : IArray [T ]) map(f : T => U ): IArray [U ] =
132- arr.asInstanceOf [Array [T ]].map(f).asInstanceOf
132+ arr.asInstanceOf [Array [T ]].map(f).asInstanceOf [ IArray [ U ]]
133133
134134 def [T ](arr : IArray [T ]) nonEmpty : Boolean =
135135 arr.asInstanceOf [Array [T ]].nonEmpty
@@ -140,31 +140,31 @@ object opaques
140140 }
141141
142142 def [T ](arr : IArray [T ]) reverse : IArray [T ] =
143- arr.asInstanceOf [Array [T ]].reverse.asInstanceOf
143+ arr.asInstanceOf [Array [T ]].reverse.asInstanceOf [ IArray [ T ]]
144144
145- def [T , U >: T : ClassTag ](arr : IArray [T ]) scan(z : U )(op : (U , U ) => U ): Array [U ] =
146- arr.asInstanceOf [Array [T ]].scan(z)(op).asInstanceOf
145+ def [T , U >: T : ClassTag ](arr : IArray [T ]) scan(z : U )(op : (U , U ) => U ): IArray [U ] =
146+ arr.asInstanceOf [Array [T ]].scan(z)(op).asInstanceOf [ IArray [ U ]]
147147
148- def [T , U : ClassTag ](arr : IArray [T ]) scanLeft(z : U )(op : (U , T ) => U ): Array [U ] =
149- arr.asInstanceOf [Array [T ]].scanLeft(z)(op).asInstanceOf
148+ def [T , U : ClassTag ](arr : IArray [T ]) scanLeft(z : U )(op : (U , T ) => U ): IArray [U ] =
149+ arr.asInstanceOf [Array [T ]].scanLeft(z)(op).asInstanceOf [ IArray [ U ]]
150150
151- def [T , U : ClassTag ](arr : IArray [T ]) scanRight(z : U )(op : (T , U ) => U ): Array [U ] =
152- arr.asInstanceOf [Array [T ]].scanRight(z)(op).asInstanceOf
151+ def [T , U : ClassTag ](arr : IArray [T ]) scanRight(z : U )(op : (T , U ) => U ): IArray [U ] =
152+ arr.asInstanceOf [Array [T ]].scanRight(z)(op).asInstanceOf [ IArray [ U ]]
153153
154154 def [T ](arr : IArray [T ]) size : Int =
155155 arr.asInstanceOf [Array [T ]].size
156156
157- def [T ](arr : IArray [T ]) slice(from : Int , until : Int ): Array [T ] =
158- arr.asInstanceOf [Array [T ]].slice(from, until).asInstanceOf
157+ def [T ](arr : IArray [T ]) slice(from : Int , until : Int ): IArray [T ] =
158+ arr.asInstanceOf [Array [T ]].slice(from, until).asInstanceOf [ IArray [ T ]]
159159
160160 def [T , U : ClassTag ](arr : IArray [T ]) sortBy(f : T => U )(given math .Ordering [U ]): IArray [T ] =
161- arr.asInstanceOf [Array [T ]].sortBy(f).asInstanceOf
161+ arr.asInstanceOf [Array [T ]].sortBy(f).asInstanceOf [ IArray [ T ]]
162162
163163 def [T ](arr : IArray [T ]) sortWith(f : (T , T ) => Boolean ): IArray [T ] =
164- arr.asInstanceOf [Array [T ]].sortWith(f).asInstanceOf
164+ arr.asInstanceOf [Array [T ]].sortWith(f).asInstanceOf [ IArray [ T ]]
165165
166166 def [T ](arr : IArray [T ]) sorted(given math .Ordering [T ]): IArray [T ] =
167- arr.asInstanceOf [Array [T ]].sorted.asInstanceOf
167+ arr.asInstanceOf [Array [T ]].sorted.asInstanceOf [ IArray [ T ]]
168168
169169 def [T ](arr : IArray [T ]) span(p : T => Boolean ): (IArray [T ], IArray [T ]) =
170170 arr.asInstanceOf [Array [T ]].span(p) match {
@@ -180,24 +180,24 @@ object opaques
180180 arr.asInstanceOf [Array [T ]].startsWith(that.asInstanceOf [Array [U ]])
181181
182182 def [T ](arr : IArray [T ]) tail : IArray [T ] =
183- arr.asInstanceOf [Array [T ]].tail.asInstanceOf
183+ arr.asInstanceOf [Array [T ]].tail.asInstanceOf [ IArray [ T ]]
184184
185185 def [T ](arr : IArray [T ]) take(n : Int ): IArray [T ] =
186- arr.asInstanceOf [Array [T ]].take(n).asInstanceOf
186+ arr.asInstanceOf [Array [T ]].take(n).asInstanceOf [ IArray [ T ]]
187187
188188 def [T ](arr : IArray [T ]) takeRight(n : Int ): IArray [T ] =
189- arr.asInstanceOf [Array [T ]].takeRight(n).asInstanceOf
189+ arr.asInstanceOf [Array [T ]].takeRight(n).asInstanceOf [ IArray [ T ]]
190190
191191 def [T ](arr : IArray [T ]) takeWhile(p : T => Boolean ): IArray [T ] =
192- arr.asInstanceOf [Array [T ]].takeWhile(p).asInstanceOf
192+ arr.asInstanceOf [Array [T ]].takeWhile(p).asInstanceOf [ IArray [ T ]]
193193
194194 def [U : ClassTag , V : ClassTag ](arr : IArray [(U , V )]) unzip : (IArray [U ], IArray [V ]) =
195195 arr.asInstanceOf [Array [(U , V )]].unzip match {
196196 case (x, y) => (x.asInstanceOf [IArray [U ]], y.asInstanceOf [IArray [V ]])
197197 }
198198
199199 def [T , U : ClassTag ](arr : IArray [T ]) zip(that : IterableOnce [U ]): IArray [(T , U )] =
200- arr.asInstanceOf [Array [T ]].zip(that).asInstanceOf
200+ arr.asInstanceOf [Array [T ]].zip(that).asInstanceOf [ IArray [( T , U )]]
201201end opaques
202202
203203type IArray [+ T ] = opaques.IArray [T ]
0 commit comments