Skip to content

[Mono] implement static virtual methods in interfaces support #49904

Open
@lambdageek

Description

@lambdageek

Implement support for static interface methods (csharp design: dotnet/csharplang#4436)

Known issues for .NET 7

Work items completed in .net 6:

  • metadata updates
    • allow virtual on static methods in interfaces (can borrow this and JIT from partydonk prototype)
    • implement implements-all-static-interface-methods-of relation
    • possibly implement a static vtable for MonoClass (partydonk just puts static methods into the instance vtable and also does matching by name)
  • unconditionally enable JIT support
    • constrained.call
  • unconditionally enable interpreter support
    • constrained.call
    • constrained.ldftn
  • support for the RuntimeFeature flag System.Runtime.CompilerServices.RuntimeFeature.VirtualStaticsInInterfaces #49905 for statics in interfaces.

Related CoreCLR work items over at #50129

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions