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

ILLink: Allow interface methods to not have newslot #93662

Merged
merged 2 commits into from
Oct 27, 2023

Commits on Oct 18, 2023

  1. ILLink: Allow interface methods to not have newslot

    Fixes dotnet#93008
    
    This comes from F#, where interface method defined in F# doesn't have `newslot` flag in its metadata. Trimmer gets confused and doesn't recognize such method as a "base" method for its implementation in the type which implements the interface. As a result, the implementation method is removed from the program because there doesn't seem to be a use for it anywhere.
    
    The fix is to basically ignore the `newslot` flag for interface instance methods. The existing behavior must be kept for static interface methods though - as a redefinition of a method with the `new` C# keyword will produce an interface method definition without the `newslot` flag as well.
    
    The change adds a new test and modifies the AOT/analyzer infra to run the test as well.
    vitek-karas committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    2fcc58a View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2023

  1. Configuration menu
    Copy the full SHA
    663a315 View commit details
    Browse the repository at this point in the history