Skip to content

feat(Async+Task+ValueTask): consistent helper modules#19844

Open
bartelink wants to merge 3 commits into
dotnet:mainfrom
bartelink:atvt
Open

feat(Async+Task+ValueTask): consistent helper modules#19844
bartelink wants to merge 3 commits into
dotnet:mainfrom
bartelink:atvt

Conversation

@bartelink
Copy link
Copy Markdown

@bartelink bartelink commented May 28, 2026

Adds consistent helper modules for Async, Task and ValueTask.

Resolves fsharp/fslang-suggestions#1466

Checklist

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 28, 2026

❗ Release notes required


✅ Found changes and release notes in following paths:

Change path Release notes path Description
src/FSharp.Core docs/release-notes/.FSharp.Core/11.0.100.md

@bartelink bartelink marked this pull request as ready for review May 28, 2026 15:25
@bartelink bartelink requested a review from a team as a code owner May 28, 2026 15:25
Copilot AI review requested due to automatic review settings May 28, 2026 15:25
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds new camelCase helpers for Async, Task, and ValueTask in FSharp.Core, along with unit tests and surface area/release note updates.

Changes:

  • Introduced result, map, bind, ignore, catchWith, catch, empty for Async, Task, ValueTask (+ Task.ofValueTask, ValueTask.ofTask where available).
  • Added unit tests covering success/failure flows for the new helpers.
  • Updated netstandard surface area baselines and release notes.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Control/TaskModuleFunctions.fs New tests for Task/ValueTask camelCase helpers.
tests/FSharp.Core.UnitTests/FSharp.Core/Microsoft.FSharp.Control/AsyncModuleFunctions.fs New tests for Async camelCase helpers.
tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj Includes the new test files in the test project.
tests/FSharp.Core.UnitTests/FSharp.Core.SurfaceArea.netstandard21.release.bsl Surface area baseline updated for new APIs.
tests/FSharp.Core.UnitTests/FSharp.Core.SurfaceArea.netstandard21.debug.bsl Surface area baseline updated for new APIs.
tests/FSharp.Core.UnitTests/FSharp.Core.SurfaceArea.netstandard20.release.bsl Surface area baseline updated for new APIs.
tests/FSharp.Core.UnitTests/FSharp.Core.SurfaceArea.netstandard20.debug.bsl Surface area baseline updated for new APIs.
src/FSharp.Core/tasks.fsi Public signatures/docs for new Task/ValueTask modules.
src/FSharp.Core/tasks.fs Implementation of new Task/ValueTask helpers.
src/FSharp.Core/async.fsi Public signatures/docs for new Async camelCase helpers.
src/FSharp.Core/async.fs Implementation of new Async camelCase helpers.
docs/release-notes/.FSharp.Core/11.0.100.md Release notes entry for the new APIs.

Comment thread src/FSharp.Core/async.fsi Outdated
Comment thread src/FSharp.Core/tasks.fs Outdated
Comment thread src/FSharp.Core/tasks.fs
Comment thread docs/release-notes/.FSharp.Core/11.0.100.md Outdated
Comment thread src/FSharp.Core/async.fs
result = (fun _ -> ())
)

[<CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be FSharpAsyncModule, pin AsyncModule or something else?
more important for Task and ValueTask of course

@github-actions github-actions Bot added the AI-Tooling-Check-Scanned-Clean Tooling check: diff analyzed, no interesting infrastructure files label May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-Tooling-Check-Scanned-Clean Tooling check: diff analyzed, no interesting infrastructure files

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

Async/Task/ValueTask standard functions

2 participants