FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[release/9.0-staging] Fix analyzer tracking of nullable enums by github-actions[bot] · Pull Request #110331 · dotnet/runtime · GitHub

Repository navigation

[release/9.0-staging] Fix analyzer tracking of nullable enums - #110331

Merged
jeffschwMSFT merged 3 commits into
release/9.0-stagingfrom
backport/pr-109430-to-release/9.0-staging
Jan 10, 2025
Merged

jeffschwMSFT merged 3 commits into
release/9.0-stagingfrom
backport/pr-109430-to-release/9.0-staging

Conversation

github-actions Bot commented Dec 2, 2024 •
edited by sbomer
Loading

Copy link
Copy Markdown
Contributor

Backport of #109430 to release/9.0-staging

/cc @sbomer

Customer Impact

  • Customer reported
  • Found internally

Originally fixed in .NET 10 when found while investigating a related issue, and we got a customer report after the .NET 9 release. Customer reported via email when attempting to make an app NativeAOT and trim compatible. Impact is that there are unexpected analyzer warnings in source-generated code.

Simple example of a false positive warning customers could hit:

using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;

RuntimeHelpers.RunClassConstructor(typeof(Nullable<E>).TypeHandle); // unexpected warning

enum E { }

The actual customer-reported issue showed up in source-generated code not controlled by the customer, in a WinUI app:

IL2059: Unrecognized value passed to the parameter 'type' of method 'System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(RuntimeTypeHandle)'. It's not possible to guarantee the availability of the target static constructor.

for generated code like:

private void StaticInitializer_158_Nullable() => global::System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(typeof(global::System.Nullable<global::CommunityToolkit.WinUI.Animations.EasingType>).TypeHandle);

Regression

  • No

Testing

Added unit test which validates that the same pattern reported by the customer does not produces a warning.

Risk

Low. Analyzer-only change, doesn't impact runtime. Removes incorrect warnings produced by the trim analyzer.

ghost added the area-Tools-ILLink .NET linker development as well as trimming analyzers label Dec 2, 2024
dotnet-policy-service Bot added the linkable-framework Issues associated with delivering a linker friendly framework label Dec 2, 2024

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/illink
See info in area-owners.md if you want to be subscribed.

sbomer added the Servicing-consider Issue for next servicing release review label Dec 2, 2024
sbomer requested review from a team and agocke December 2, 2024 21:49

sbomer commented Dec 2, 2024 •
edited
Loading

Copy link
Copy Markdown
Member

This is surfacing existing test failures, fixing in #110340.

jeffschwMSFT left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

lgtm. please get a code review. we will take for consideration in 9.0.x

jeffschwMSFT removed the Servicing-consider Issue for next servicing release review label Dec 12, 2024
jeffschwMSFT added the Servicing-consider Issue for next servicing release review label Jan 9, 2025
jeffschwMSFT added this to the 9.0.x milestone Jan 9, 2025
sbomer requested a review from jtschuster January 9, 2025 21:34
jeffschwMSFT added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Jan 10, 2025
jeffschwMSFT modified the milestones: 9.0.x, 9.0.2 Jan 10, 2025
jeffschwMSFT merged commit dd5962b into release/9.0-staging Jan 10, 2025
agocke deleted the backport/pr-109430-to-release/9.0-staging branch January 10, 2025 23:36
github-actions Bot locked and limited conversation to collaborators Feb 10, 2025
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
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tools-ILLink .NET linker development as well as trimming analyzers linkable-framework Issues associated with delivering a linker friendly framework Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants


Back | FazBrowse Home | New Git URL