We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 4d7bcb8 commit 0f49040Copy full SHA for 0f49040
src/FsToolkit.ErrorHandling/List.fs
@@ -52,14 +52,17 @@ module List =
52
53
54
let rec private traverseResultA' state f xs =
55
- match xs with
56
- | [] -> state
57
- | x :: xs ->
+ match state, xs with
+ | Ok v, [] ->
+ Ok (List.rev v)
58
+ | v, [] ->
59
+ v
60
+ | _, x :: xs ->
61
let fR =
62
f x |> Result.mapError List.singleton
63
match state, fR with
64
| Ok ys, Ok y ->
- traverseResultA' (Ok (ys @ [y])) f xs
65
+ traverseResultA' (Ok (y :: ys)) f xs
66
| Error errs, Error e ->
67
traverseResultA' (Error (errs @ e)) f xs
68
| Ok _, Error e | Error e , Ok _ ->
0 commit comments