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

Fix projected covariance interfaces #1902

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

manodasanW
Copy link
Member

  • In the AOT optimizer, for collection types with value types as the generic instantiation, we were projecting a covariant interface on the vtable for IEnumerable when it isn't a covariant interface. This addresses that by fixing the check for it.
  • Added tests to validate scenarios where the interface should be projected and shouldn't.
  • During testing, it was discovered for collections of interfaces, we were not projecting object as a covariance given BaseType returns null for interfaces. This is addressed by an interface check that was added.

@manodasanW manodasanW requested a review from Sergio0694 January 22, 2025 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant