You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
List-to-Get normalization collapsed singleton GET and pageable LIST operations onto the same REST request-builder signature, causing CS0111 despite their distinct request paths.
Collision handling: Check stable input names and projected C# signatures before applying List-to-Get normalization. Retain the original List name when REST or public declarations would collide, including generated Async variants.
Compatibility: Preserve non-colliding overloads and existing explicit, published-API, acronym, and URL naming. Compare generic arguments recursively so IEnumerable<int> and IEnumerable<int?> remain distinct signatures.
Regression coverage: Cover operation order, explicit-name peers, List/GetAll and async-name collisions, valid overloads, unique declarations, and URI/lookup/initial-page/next-page binding.
Azure Pipelines:
Successfully started running 1 pipeline(s).
1 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.
CopilotAI
changed the title
[WIP] Fix duplicate REST request builders for getByResourceGroup and listByResourceGroup
[http-client-csharp] Prevent List/Get request-builder collisions
Oct 14, 2026
These parameter lists precede the sync/async reordering in ScmMethodProviderCollection.cs:1398–1450: for protocol-only ListWidgets and convenience-enabled GetWidgetsAsync, each with an optional string path parameter and a required int query parameter, the overlapping protocol declarations actually take (int, string, RequestOptions) and (string, int, RequestOptions). Comparing the identical pre-emission lists incorrectly renames the valid GetWidgets/GetWidgetsAsync API to ListWidgets/ListWidgetsAsync; compare each emitted variant's final parameter types and order, and add a regression for this pair.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
List-to-Get normalization collapsed singleton GET and pageable LIST operations onto the same REST request-builder signature, causing CS0111 despite their distinct request paths.
Asyncvariants.IEnumerable<int>andIEnumerable<int?>remain distinct signatures.