Implement support for [static interface methods](https://github.com/dotnet/runtime/pull/49558) (csharp design: https://github.com/dotnet/csharplang/issues/4436) Known issues for .NET 7 - [ ] Disabled runtime tests https://github.com/dotnet/runtime/blob/6f30425664e452170a67072fff5462caf556c796/src/tests/issues.targets#L1532-L1537 - [x] Triage and create individual issues - [x] `GenericContext` https://github.com/dotnet/runtime/pull/66739 - [ ] `InterfaceVariance` - [ ] `NegativeTestCases` - [ ] #67540 - [x] #61920 - [x] #61672 - [x] support AOT with generic sharing https://github.com/dotnet/runtime/issues/54910 - [x] generic sharing failure with `contstrained.call` https://github.com/dotnet/runtime/issues/65002 and https://github.com/dotnet/runtime/pull/60905 - [x] https://github.com/dotnet/runtime/issues/65394 - [x] https://github.com/dotnet/runtime/issues/65384 - [x] https://github.com/dotnet/runtime/issues/60447 Work items completed in .net 6: - [x] metadata updates - allow `virtual` on `static` methods in interfaces (can borrow this and JIT from [partydonk prototype](https://github.com/Partydonk/runtime/commits/dev/abock/asim)) - 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) - [x] unconditionally enable JIT support - [x] `constrained.call` - [x] unconditionally enable interpreter support - [x] `constrained.call` - [x] `constrained.ldftn` - [x] support for the `RuntimeFeature` flag https://github.com/dotnet/runtime/issues/49905 for statics in interfaces. --- Related CoreCLR work items over at https://github.com/dotnet/runtime/issues/50129
Implement support for static interface methods (csharp design: dotnet/csharplang#4436)
Known issues for .NET 7
runtime/src/tests/issues.targets
Lines 1532 to 1537 in 6f30425
GenericContext[mono] Fix static virtual calls to generic methods from gshared code #66739InterfaceVarianceNegativeTestCasesconstrained.ldftnin the JIT #61672contstrained.call[mono][fullaot] Calling static virtual method from a generic method leads to "Attempting to JIT" error #65002 and Use generic math in System.Numerics.Vectors (#60365) #60905Work items completed in .net 6:
virtualonstaticmethods in interfaces (can borrow this and JIT from partydonk prototype)MonoClass(partydonk just puts static methods into the instance vtable and also does matching by name)constrained.callconstrained.callconstrained.ldftnRuntimeFeatureflag System.Runtime.CompilerServices.RuntimeFeature.VirtualStaticsInInterfaces #49905 for statics in interfaces.Related CoreCLR work items over at #50129