Conversation
❗ Release notes requiredYou can open this PR in browser to add release notes: open in github.dev Caution No release notes found for the changed paths (see table below). Please make sure to add an entry with an informative description of the change as well as link to this pull request, issue and language suggestion if applicable. Release notes for this repository are based on Keep A Changelog format. The following format is recommended for this repository: `* . (PR #XXXXX)`
If you believe that release notes are not necessary for this PR, please add NO_RELEASE_NOTES label to the pull request.
|
4ae3982 to
91809eb
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The sequential delegation can continue queued work after cancellation.
Review effort: Balanced
Findings: 1
What changed in this PR
Refactors editor cancellable-task helpers to reuse FSharp.Core task combinators.
Changes:
- Delegates throttled parallel and sequential execution to
Taskhelpers. - Adds the follow-up PR to Visual Studio release notes.
| File | Description |
|---|---|
CancellableTasks.fs |
Replaces custom scheduling implementations. |
18.vNext.md |
Adds the follow-up PR reference. |
| @@ -1104,32 +1104,7 @@ module CancellableTasks = | |||
| let inline whenAllThrottled maxDegreeOfParallelism (tasks: CancellableTask<'a> seq) = | |||
| cancellableTask { | |||
There was a problem hiding this comment.
could collapse this to fun ct -> Task.parallelLimit maxDegreeOfParallelism ct tasks (and same for sequential); no idea if it desugars to the same ?
There was a problem hiding this comment.
Yes pls collapse it, lets use the FSharp.Core variants where possible.
There was a problem hiding this comment.
There's a call each of whenAllThrottled and sequential at present (neither has a ct locally so it makes sense for them to remain using it indirectly via the CancellableTask module)
I've removed the wrapping within the body to make them a one-liner.
Will eventually get IcedTasks to match it as part of the demystifyfp/FsToolkit.ErrorHandling#373 work
b2b5901 to
cfe0ac4
Compare
5ac18b9 to
dfe59e9
Compare

Follow up to #20128 as noted in #20128 (comment) - Replace bodies of
CancellableTask.whenAllThrottledandsequentialwithTask.parallelLimitandsequential