Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Feb 3, 2022

Backport of #64102 to release/6.0

/cc @lambdageek @bholmes

Related to #61244

Customer Impact

Customer code that has default interface methods on generic interfaces that implements a method from a base interface that has a different number or different order of generic parameters may crash or setup the method vtable incorrectly. This affects customer code on Blazor WebAssembly and .NET for mobile (iOS and Android).

Testing

manual testing and new CI tests.

Risk

Moderate. The code change affects the initialization for default interface methods in generic interfaces even in cases that previously worked correctly. It is possible that despite our existing tests we may introduce a regression into some existing code that works correctly today.

When processing the overrides from interface default methods we should
check if the interface class is a generic type definition first and
inflate with the interface class context.

Test case included.
@ghost ghost added the area-VM-meta-mono label Feb 3, 2022
@lambdageek lambdageek added the Servicing-consider Issue for next servicing release review label Feb 3, 2022
@lambdageek lambdageek self-assigned this Feb 7, 2022
@akoeplinger akoeplinger added this to the 6.0.x milestone Feb 7, 2022
@rbhanda rbhanda added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Feb 15, 2022
@rbhanda rbhanda modified the milestones: 6.0.x, 6.0.4 Feb 15, 2022
@ericstj ericstj merged commit 6afa0ef into release/6.0 Mar 10, 2022
@akoeplinger akoeplinger deleted the backport/pr-64102-to-release/6.0 branch March 10, 2022 20:41
@ghost ghost locked as resolved and limited conversation to collaborators Apr 10, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-meta-mono Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants