Skip to content

Conversation

@Tyrrrz
Copy link
Owner

@Tyrrrz Tyrrrz commented Dec 2, 2025

No description provided.

Copilot AI review requested due to automatic review settings December 2, 2025 16:36
@Tyrrrz Tyrrrz added the enhancement New feature or request label Dec 2, 2025
@Tyrrrz Tyrrrz changed the title Add polyfill for Parallel.ForAsync(...) and Parallel.ForEachAsync(...) Add polyfills for Parallel.ForAsync(...) and Parallel.ForEachAsync(...) Dec 2, 2025
Copy link
Contributor

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

This PR adds polyfills for Parallel.ForAsync(...) and Parallel.ForEachAsync(...) methods that are available in .NET 6.0+ and .NET 8.0+ respectively, making them available to earlier framework versions.

Key Changes:

  • Added polyfill implementations for Parallel.ForAsync (3 overloads) targeting .NET 8.0+
  • Added polyfill implementations for Parallel.ForEachAsync (6 overloads) targeting .NET 6.0+
  • Added ParallelOptions class polyfill for frameworks lacking it
  • Introduced comprehensive test coverage for both methods

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
PolyShim/Signatures.md Updated signature counts and documented the new Parallel and ParallelOptions polyfills with their respective overloads
PolyShim/PolyShim.targets Added blank lines for formatting consistency between feature flag sections
PolyShim/NetCore10/ParallelOptions.cs Added ParallelOptions class polyfill for pre-.NET Core 1.0 frameworks with CancellationToken, MaxDegreeOfParallelism, and TaskScheduler properties
PolyShim/NetCore10/Parallel.cs Added empty Parallel class stub for pre-.NET Core 1.0 frameworks to support extension methods
PolyShim/Net80/Parallel.cs Implemented ForAsync polyfill with 3 overloads using semaphore-based parallelism control
PolyShim/Net60/Parallel.cs Implemented ForEachAsync polyfill with 6 overloads (for IEnumerable and IAsyncEnumerable) using semaphore-based parallelism control
PolyShim.Tests/Net80/ParallelTests.cs Added basic tests for ForAsync including functionality and cancellation scenarios
PolyShim.Tests/Net60/ParallelTests.cs Added basic tests for ForEachAsync including functionality and cancellation scenarios

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

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

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


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

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

Copilot reviewed 9 out of 9 changed files in this pull request and generated 10 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Tyrrrz Tyrrrz merged commit dc0aa80 into master Dec 2, 2025
5 checks passed
@codecov
Copy link

codecov bot commented Dec 2, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (28f3002) to head (7eb2ca2).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@     Coverage Diff      @@
##   master   #63   +/-   ##
============================
============================

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants