@@ -171,7 +171,8 @@ module SideEffects =
171171 }
172172
173173 [<Fact>]
174- let ``TaskSeq - skipWhile and variants prove it reads the entire input stream`` () = task {
174+ let ``TaskSeq - skipWhile and variants prove it reads the entire input stream`` () =
175+
175176 let mutable x = 42
176177
177178 let items = taskSeq {
@@ -180,26 +181,29 @@ module SideEffects =
180181 x <- x + 1 // we are proving we ALWAYS get here
181182 }
182183
184+ // this needs to be lifted from the task or it raises the infamous
185+ // warning FS3511 on CI: This state machine is not statically compilable
183186 let testSkipper skipper expected = task {
184187 let! first = items |> skipper |> TaskSeq.toArrayAsync
185188 return first |> should equal expected
186189 }
187190
188- do ! testSkipper ( TaskSeq.skipWhile ((=) 42 )) [| 84 |]
189- x |> should equal 43
191+ task {
192+ do ! testSkipper ( TaskSeq.skipWhile ((=) 42 )) [| 84 |]
193+ x |> should equal 43
190194
191- do ! testSkipper ( TaskSeq.skipWhileInclusive ((=) 43 )) [||]
192- x |> should equal 44
195+ do ! testSkipper ( TaskSeq.skipWhileInclusive ((=) 43 )) [||]
196+ x |> should equal 44
193197
194- do ! testSkipper ( TaskSeq.skipWhileAsync ( fun x -> Task.fromResult ( x = 44 ))) [| 88 |]
195- x |> should equal 45
198+ do ! testSkipper ( TaskSeq.skipWhileAsync ( fun x -> Task.fromResult ( x = 44 ))) [| 88 |]
199+ x |> should equal 45
196200
197- do ! testSkipper ( TaskSeq.skipWhileInclusiveAsync ( fun x -> Task.fromResult ( x = 45 ))) [||]
198- x |> should equal 46
199- }
201+ do ! testSkipper ( TaskSeq.skipWhileInclusiveAsync ( fun x -> Task.fromResult ( x = 45 ))) [||]
202+ x |> should equal 46
203+ }
200204
201205 [<Fact>]
202- let ``TaskSeq - skipWhile and variants prove side effects are properly executed`` () = task {
206+ let ``TaskSeq - skipWhile and variants prove side effects are properly executed`` () =
203207 let mutable x = 41
204208
205209 let items = taskSeq {
@@ -210,23 +214,26 @@ module SideEffects =
210214 x <- x + 200 // as previously proven, we should ALWAYS trigger this
211215 }
212216
217+ // this needs to be lifted from the task or it raises the infamous
218+ // warning FS3511 on CI: This state machine is not statically compilable
213219 let testSkipper skipper expected = task {
214220 let! first = items |> skipper |> TaskSeq.toArrayAsync
215221 return first |> should equal expected
216222 }
217223
218- do ! testSkipper ( TaskSeq.skipWhile ((=) 42 )) [| 88 |]
219- x |> should equal 244
224+ task {
225+ do ! testSkipper ( TaskSeq.skipWhile ((=) 42 )) [| 88 |]
226+ x |> should equal 244
220227
221- do ! testSkipper ( TaskSeq.skipWhileInclusive ((=) 245 )) [||]
222- x |> should equal 447
228+ do ! testSkipper ( TaskSeq.skipWhileInclusive ((=) 245 )) [||]
229+ x |> should equal 447
223230
224- do ! testSkipper ( TaskSeq.skipWhileAsync ( fun x -> Task.fromResult ( x = 448 ))) [| 900 |]
225- x |> should equal 650
231+ do ! testSkipper ( TaskSeq.skipWhileAsync ( fun x -> Task.fromResult ( x = 448 ))) [| 900 |]
232+ x |> should equal 650
226233
227- do ! testSkipper ( TaskSeq.skipWhileInclusiveAsync ( fun x -> Task.fromResult ( x = 651 ))) [||]
228- x |> should equal 853
229- }
234+ do ! testSkipper ( TaskSeq.skipWhileInclusiveAsync ( fun x -> Task.fromResult ( x = 651 ))) [||]
235+ x |> should equal 853
236+ }
230237
231238 [<Theory; ClassData( typeof< TestSideEffectTaskSeq>) >]
232239 let ``TaskSeq - skipWhile consumes the prefix of a longer sequence , with mutation`` variant = task {
0 commit comments