Skip to content

Commit 0279e43

Browse files
gustywallymathieu
authored andcommitted
+ (Value)Task.mapError
1 parent 4d0524f commit 0279e43

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

src/FSharpPlus/Extensions/Task.fs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ module Task =
487487
let inline recover ([<InlineIfLambda>]mapper: exn -> 'T) (source: Task<'T>) : Task<'T> =
488488
let source = nullArgCheck (nameof source) source
489489

490-
tryWith (fun () -> source) (mapper >> Task.FromResult)
490+
tryWith (fun () -> source) (mapper >> Task.FromResult)
491491
#else
492492
let inline recover (mapper: exn -> 'T) (source: Task<'T>) : Task<'T> =
493493
raiseIfNull "source" source
@@ -500,6 +500,7 @@ module Task =
500500
/// <param name="source">The source task.</param>
501501
/// <returns>The resulting task.</returns>
502502
let mapError (mapper: exn -> exn) (source: Task<'T>) : Task<'T> =
503+
503504
#if !NET45
504505
let source = nullArgCheck (nameof source) source
505506
#else

src/FSharpPlus/Extensions/ValueTask.fs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,13 @@ module ValueTask =
407407
| Faulted exn -> FromExceptions (AggregateException (mapper exn))
408408
| _ -> source
409409
else
410-
let tcs = TaskCompletionSource<'T> tcsOptions
410+
#if NET5_0_OR_GREATER
411+
let tcsOptions' = TaskCreationOptions.RunContinuationsAsynchronously
412+
#else
413+
let tcsOptions' = ()
414+
#endif
415+
416+
let tcs = TaskCompletionSource<'T> tcsOptions'
411417
let k = function
412418
| Succeeded r -> tcs.SetResult r
413419
| Faulted aex -> tcs.SetException (AggregateException (mapper aex)).InnerExceptions

0 commit comments

Comments
 (0)