Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[tests] verify trimmer warnings where appropriate (#9076)
One change we need in the Android workload is to make sure that trimmer warnings are displayed if a project sets `$(IsAotCompatible)`. Customers would likely want this set for all platforms if they are using NativeAOT on iOS or MacCatalyst. I also wrote a test with somewhat complicated parameters to verify we get warnings. First, I can create a warning for both `IL2055` and `IL3050`: // Member field Type type = typeof (List<>); // ... // Later in OnCreate Console.WriteLine (type.MakeGenericType (typeof (object))); The combinations of tests are: | Configuration | Property | Warning(s) | | ------------- | ---------------------------------- | ----------------- | | Debug | (defaults) | None | | Release | (defaults) | None | | Debug | TrimMode=full | None | | Release | TrimMode=full | IL2055(2) | | Release | SuppressTrimAnalysisWarnings=false | IL2055(2) | | Debug | IsAotCompatible=true | IL2055, IL3050 | | Release | IsAotCompatible=false | IL2055(2), IL3050 | Some of the cases receive duplicate warnings, but this is expected as the same behavior occurs in the simplest case: * `dotnet new console` * Add the above code to `Program.cs` * `dotnet publish -c Release -r win-x64 -p:PublishAot=true` * Receive warnings from both the Roslyn analyzer and ILC (NativeAOT compiler) In a future PR, I might try to "fix" the duplicate warnings.
- Loading branch information