Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more tests that have been enabled by recent changes #73175

Merged
merged 1 commit into from
Aug 1, 2022

Conversation

tlakollo
Copy link
Contributor

@tlakollo tlakollo commented Aug 1, 2022

No description provided.

@tlakollo tlakollo self-assigned this Aug 1, 2022
@tlakollo tlakollo marked this pull request as ready for review August 1, 2022 18:41
Copy link
Member

@vitek-karas vitek-karas left a comment

Choose a reason for hiding this comment

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

Will you please sync the changes back to the linker repo once this is merged?

{
// Base/Derived and Implementation/Interface differs between linker and analyzer https://github.com/dotnet/linker/issues/2533
[ExpectedWarning ("IL2026", "--DynamicallyAccessedTypeWithRequires.MethodWithRequires--")]
[ExpectedWarning ("IL2026", "TypeWhichOverridesMethod.VirtualMethodRequires()", "--TypeWhichOverridesMethod.VirtualMethodRequires--", ProducedBy = ProducedBy.Analyzer | ProducedBy.NativeAot)]
Copy link
Member

Choose a reason for hiding this comment

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

Do we have a bug tracking the NativeAOT side of this? Or this really a linker-only bug (probably due to override resolution being broken in Cecil) - probably worth a comment either way.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The issue is marked in the comment. It doesn't have to do with Cecil, by choice we decide to print the warnings in a particular way. Basically for linker no matter if we use the base or derived/interface or implementation, we always print a warning in the base/interface because IL only points to base/interface. Analyzer implementation got more complicated because it does point to the derived/implementation and interface resolution based on implementation was expensive. NativeAOT just happens to use the same approach as the analyzer.

@tlakollo tlakollo merged commit e6d5bba into dotnet:main Aug 1, 2022
@tlakollo tlakollo deleted the AddMoreTestToNativeAOT branch August 1, 2022 22:26
@ghost ghost locked as resolved and limited conversation to collaborators Sep 1, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants