Skip to content

Why is this change binary compatible and not source compatible? #44434

@WizardBrony

Description

@WizardBrony

Type of issue

Other (describe below)

Description

This question is just one example where I am confused by the compatibility indictors for the listed .NET breaking changes. If I understand the change correctly, nothing changed with the ObjectResult.StatusCode API itself, so everything will compile the same, but the run-time behavior in this scenario (returning a T in a controller action that declares the return type ActionResult) changed. Doesn't that mean this change is binary incompatible and source compatible according to the documentation's definition?

  • Binary compatible - Existing binaries will load and execute successfully without recompilation, and the run-time behavior won't change.
  • Source compatible - Source code will compile successfully without changes when targeting the new runtime or using the new SDK or component.

Page URL

https://learn.microsoft.com/en-us/dotnet/core/compatibility/aspnet-core/6.0/actionresult-statuscode

Content source URL

https://github.com/dotnet/docs/blob/main/docs/core/compatibility/aspnet-core/6.0/actionresult-statuscode.md

Document Version Independent Id

64b65b92-b86a-1741-2a38-c1119b7d2ed1

Article author

@CamSoper

Metadata

  • ID: 204588be-f452-4db7-db93-ed4ea5af6cd0
  • Service: dotnet-fundamentals

Related Issues


Associated WorkItem - 377117

Metadata

Metadata

Assignees

Labels

📌 seQUESTeredIdentifies that an issue has been imported into Quest.dotnet-fundamentals/svcin-prThis issue will be closed (fixed) by an active pull request.okr-qualityContent-quality KR: Concerns article defects (bugs), freshness, or build warnings.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions