Azure / Azure/azure-sdk-tools

APICompat misses when you remove all defaults from param list

Open
#13,487 0 comments 0 reactions 0 assignees View on GitHub
.NET .NETClientSDKAnalyzers
Dominant language
C#
Stars
135
Forks
260
Avg merge
3d 1h
Merged PRs (30d)
143

Description

### 🔧 Tool Name

ApiCompat

### 📄 What Should This Tool Do?

If you have a method like this

```c#
public void Foo(string a = default, string b = default)
```

And you change it to this

```c#
public void Foo(string a, string b)
```

ApiCompat or some other tooling during the PR should flag this as a breaking change.

### 📥 Inputs and 📤 Outputs

dotnet build

### 🏗️ Execution Context

MCP only

### 💻 CLI Command and Flags (if applicable)

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by locating ApiCompat's compatibility checks for method parameter defaults and run the provided dotnet build input. Reproduce the two Foo signatures, then verify that removing all defaults is reported as a breaking change during compatibility analysis.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.