Revert "Add GroupJoin overload returning IGrouping"#126624
Conversation
This reverts commit 375857b.
There was a problem hiding this comment.
Pull request overview
Reverts the recently-added GroupJoin overloads that returned IGrouping<,> (and their associated test coverage) from System.Linq, System.Linq.Queryable, and System.Linq.AsyncEnumerable, restoring the previous API surface after CI-discovered compilation issues.
Changes:
- Remove
GroupJoin<TOuter,TInner,TKey>(...) -> IEnumerable/IQueryable/IAsyncEnumerable<IGrouping<...>>overloads from implementations and ref assemblies. - Delete the corresponding unit tests that validated the removed overloads.
- Remove now-unused helper grouping types (
GroupJoinGrouping,AsyncGroupJoinGrouping) and relatedusing System.Collections;directives.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/libraries/System.Linq/tests/GroupJoinTests.cs | Removes tests targeting the reverted GroupJoin overload without a result selector. |
| src/libraries/System.Linq/src/System/Linq/GroupJoin.cs | Removes the GroupJoin overload returning IGrouping<,> plus its iterator and helper grouping type. |
| src/libraries/System.Linq/ref/System.Linq.cs | Removes the ref declaration for the reverted GroupJoin overload. |
| src/libraries/System.Linq.Queryable/tests/GroupJoinTests.cs | Removes tests targeting the reverted Queryable.GroupJoin overload without a result selector. |
| src/libraries/System.Linq.Queryable/src/System/Linq/Queryable.cs | Removes the Queryable.GroupJoin overload returning IQueryable<IGrouping<,>>. |
| src/libraries/System.Linq.Queryable/ref/System.Linq.Queryable.cs | Removes the ref declaration for the reverted Queryable.GroupJoin overload. |
| src/libraries/System.Linq.AsyncEnumerable/tests/GroupJoinTests.cs | Removes tests targeting the reverted AsyncEnumerable.GroupJoin overloads returning IGrouping<,>. |
| src/libraries/System.Linq.AsyncEnumerable/src/System/Linq/GroupJoin.cs | Removes the AsyncEnumerable.GroupJoin overloads returning IGrouping<,> plus the helper grouping type. |
| src/libraries/System.Linq.AsyncEnumerable/ref/System.Linq.AsyncEnumerable.cs | Removes the ref declarations for the reverted AsyncEnumerable.GroupJoin overloads. |
|
Tagging subscribers to this area: @dotnet/area-system-linq |
This comment has been minimized.
This comment has been minimized.
|
We still have a build break. Seems like this is not the only PR in the area path that @eiriktsarpalis merged with So I've pushed out a |
|
Note This review was generated by Copilot. 🤖 Copilot Code Review — PR #126624Holistic AssessmentMotivation: Justified. PRs #121999 (GroupJoin Approach: Two clean Summary: ✅ LGTM. Both reverts are complete and clean. All added surface from #121999 and #121998 is fully removed with no dangling references. The pre-existing overloads (with Detailed Findings✅ Revert Completeness — Both PRs fully revertedVerified that both reverts remove all artifacts: Commit 1 (
Commit 2 (
Confirmed zero remaining references to ✅ No Collateral Damage — Existing overloads untouchedThe original ✅ Build Error Addressed — CS0411 resolvedThe cited CS0411 error ( 💡 PR Title and Description — Slightly outdatedThe PR title says "Revert 'Add GroupJoin overload returning IGrouping'" and the description only mentions reverting #121999, but the PR now also reverts #121998 (Join/LeftJoin/RightJoin tuple overloads). Consider updating the title/description to reflect both reverts for clarity in the git history.
|
|
/ba-g wasm legs are broken everywhere, this is unlikely to make them worse since it's a clean revert. the build break is gone. |
Reverts #121999
This was merged during CI outage.