@@ -27,7 +27,7 @@ module ResizeArray =
2727 let iter ( action : 'T -> 'U ) ( source : ResizeArray < 'T >) =
2828 raiseIfNull ( nameof source) source
2929
30- ResizeArray ( Seq.map action source)
30+ Seq.map action source
3131
3232 /// <summary>Applies a ResizeArray of functions to a ResizeArray of values and concatenates them.</summary>
3333 /// <param name="f">The functions.</param>
@@ -81,16 +81,16 @@ module ResizeArray =
8181 source |> Array.toSeq |> Seq.intersperse element |> Seq.toArray : 'T []
8282
8383 /// Creates a sequence of arrays by splitting the source array on any of the given separators.
84- let split ( separators : seq < _ []> ) ( source : _ []) =
84+ let split ( separators : seq < ResizeArray < 'T >> ) ( source : ResizeArray < 'T >) : seq < ResizeArray < 'T >> =
8585 raiseIfNull ( nameof separators) separators
8686 raiseIfNull ( nameof source) source
87- source |> Array.toSeq |> Seq.split separators |> Seq.map Seq.toArray
87+ source |> Seq.split separators |> Seq.map ResizeArray
8888
8989 /// Replaces a subsequence of the source array with the given replacement array.
90- let replace ( oldValue : _ [] ) ( newValue : _ []) source =
90+ let replace ( oldValue : ResizeArray < 'T > ) ( newValue : ResizeArray < 'T >) ( source : ResizeArray < 'T >) : ResizeArray < 'T > =
9191 raiseIfNull ( nameof oldValue) oldValue
9292 raiseIfNull ( nameof source) source
93- source |> Array.toSeq |> Seq.replace oldValue newValue |> Seq.toArray : 'T []
93+ source |> Seq.replace oldValue newValue |> ResizeArray
9494
9595 #if ! FABLE_ COMPILER
9696
@@ -103,13 +103,13 @@ module ResizeArray =
103103 /// <returns>
104104 /// The index of the slice.
105105 /// </returns>
106- let findSliceIndex ( slice : _ [] ) ( source : _ []) =
106+ let findSliceIndex ( slice : ResizeArray < 'T > ) ( source : ResizeArray < 'T >) : int =
107107 raiseIfNull ( nameof slice) slice
108108 raiseIfNull ( nameof source) source
109109
110- let index = Internals.FindSliceIndex.arrayImpl slice source
110+ let index = Internals.FindSliceIndex.seqImpl slice source
111111 if index = - 1 then
112- ArgumentException ( " The specified slice was not found in the sequence." ) |> raise
112+ invalidArg ( nameof slice ) " The specified slice was not found in the sequence."
113113 else
114114 index
115115
@@ -120,11 +120,11 @@ module ResizeArray =
120120 /// <returns>
121121 /// The index of the slice or <c>None</c>.
122122 /// </returns>
123- let tryFindSliceIndex ( slice : _ [] ) ( source : _ []) =
123+ let tryFindSliceIndex ( slice : ResizeArray < 'T > ) ( source : ResizeArray < 'T >) : int option =
124124 raiseIfNull ( nameof slice) slice
125125 raiseIfNull ( nameof source) source
126126
127- let index = Internals.FindSliceIndex.arrayImpl slice source
127+ let index = Internals.FindSliceIndex.seqImpl slice source
128128 if index = - 1 then None else Some index
129129
130130 /// <summary>
@@ -136,10 +136,10 @@ module ResizeArray =
136136 /// <returns>
137137 /// The index of the slice.
138138 /// </returns>
139- let findLastSliceIndex ( slice : _ [] ) ( source : _ []) =
140- let index = Internals.FindLastSliceIndex.arrayImpl slice source
139+ let findLastSliceIndex ( slice : ResizeArray < 'T > ) ( source : ResizeArray < 'T >) : int =
140+ let index = Internals.FindLastSliceIndex.seqImpl slice source
141141 if index = - 1 then
142- ArgumentException ( " The specified slice was not found in the sequence." ) |> raise
142+ invalidArg ( nameof slice ) " The specified slice was not found in the sequence."
143143 else
144144 index
145145
@@ -150,8 +150,8 @@ module ResizeArray =
150150 /// <returns>
151151 /// The index of the slice or <c>None</c>.
152152 /// </returns>
153- let tryFindLastSliceIndex ( slice : _ [] ) ( source : _ []) =
154- let index = Internals.FindLastSliceIndex.arrayImpl slice source
153+ let tryFindLastSliceIndex ( slice : ResizeArray < 'T > ) ( source : ResizeArray < 'T >) : int option =
154+ let index = Internals.FindLastSliceIndex.seqImpl slice source
155155 if index = - 1 then None else Some index
156156 #endif
157157
@@ -162,12 +162,12 @@ module ResizeArray =
162162 /// <returns>
163163 /// A tuple with both resulting arrays.
164164 /// </returns>
165- let partitionMap ( mapper : 'T -> Choice < 'T1 , 'T2 >) ( source : array < 'T >) =
165+ let partitionMap ( mapper : 'T -> Choice < 'T1 , 'T2 >) ( source : ResizeArray < 'T >) : ResizeArray < 'T1 > * ResizeArray < 'T2 > =
166166 raiseIfNull ( nameof source) source
167167
168168 let ( x , y ) = ResizeArray (), ResizeArray ()
169- Array. iter ( mapper >> function Choice1Of2 e -> x.Add e | Choice2Of2 e -> y.Add e) source
170- x.ToArray () , y.ToArray ()
169+ iter ( mapper >> function Choice1Of2 e -> x.Add e | Choice2Of2 e -> y.Add e) source
170+ x, y
171171
172172 /// <summary>Safely build a new ResizeArray whose elements are the results of applying the given function
173173 /// to each of the elements of the two ResizeArrays pairwise.</summary>
0 commit comments