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

Work towards shared generics support in IDynamicIntefaceCastable #1443

Merged
merged 3 commits into from
Aug 24, 2021

Conversation

MichalStrehovsky
Copy link
Member

This is enough to get all our test to pass.

The rest is tracked in dotnet/runtime#72909.

It's a bunch of work and at this point I don't know how much we need it.

This is enough to get all our test to pass.

The rest is tracked in https://github.com/dotnet/runtimelab/issues/1442.

It's a bunch of work and at this point I don't know how much we need it.
@MichalStrehovsky MichalStrehovsky added the area-NativeAOT-coreclr .NET runtime optimized for ahead of time compilation label Aug 23, 2021
@jkotas
Copy link
Member

jkotas commented Aug 23, 2021

It's unclear to me if anyone uses IDynIntfCast with generics.

I think cswinrt is going to use it with generics. However, I am not sure whether it is going to hit this specific case with missing context.

@MichalStrehovsky
Copy link
Member Author

I think cswinrt is going to use it with generics. However, I am not sure whether it is going to hit this specific case with missing context.

I tried CsWinRT but at this point it's AOT unfriendly beyond any workarounds.

One thing is all the MakeGenericType and MakeGenericMethod calls and string concatenations passed to GetType. Those can be worked around with RD.XML. It's not pretty but it's workable.

But then there's "declaring a delegate type requires writing a whole new line in C# so let's ask Expressions to reflection-emit a new delegate type at runtime for us instead".

I miss MCG.

@MichalStrehovsky
Copy link
Member Author

Let's not merge yet, there's a bug.

@MichalStrehovsky MichalStrehovsky merged commit 3167934 into dotnet:feature/NativeAOT Aug 24, 2021
@MichalStrehovsky MichalStrehovsky deleted the dicshared branch August 24, 2021 07:43
@AaronRobinsonMSFT
Copy link
Member

I miss MCG.

Said no one ever :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-NativeAOT-coreclr .NET runtime optimized for ahead of time compilation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants