[release/8.0] Revert "Workaround a C++/CLI bug involving DIMs (#89253)" #93679
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.
Backport of #92234 to release/8.0
/cc @jeffhandley @tannergooding
Customer Impact
Earlier during .NET 8, we implemented Ensure that INumberBase implements IUtf8SpanFormattable by tannergooding · Pull Request #88840 · dotnet/runtime as part of introducing
IUtf8SpanFormattable
, implementing that interface onINumberBase
. This implementation introduced a pattern for default interface methods that we hadn't previously employed, and it surfaced a C++/CLI issue that ultimately blocked builds of dotnet/wpf.To unblock the dotnet/wpf builds, we merged Workaround a C++/CLI bug involving DIMs by tannergooding · Pull Request #89253 · dotnet/runtime and prepared the Revert "Workaround a C++/CLI bug involving DIMs (#89253)" by tannergooding · Pull Request #92234 · dotnet/runtime PR as well.
The C++/CLI issue was fixed in VS 17.8.0 Preview 2, which is now rolled out into our engineering systems and underlies the dotnet/wpf builds. With that in place, we've merged #92234 and this backports that revert into release/8.0, ensuring we have the desired API shape within the .NET 8 release.
Testing
As part of preparing #92234, we verified that the C++/CLI issue is fixed in VS 17.8.0 Preview 2 and our default interface method approach does not cause build breaks for dotnet/wpf.
Risk
Low. We did not observe anything else having trouble with this interface implementation approach. But we will monitor code flow for both main and release/8.0.