Skip to content

Conversation

@hez2010
Copy link
Contributor

@hez2010 hez2010 commented Jun 26, 2023

An RVA field within a generic type is not expressible with C#, and the NativeAOT compiler doesn't support such IL at all.
To resolve this issue, we can simply move IIDDataField out of the generic types instead of nesting the data inside of a generic type.

Unblocks the tooling issue to make sure ilc can compile CsWinRT projection assemblies.

After this PR is merged, we can finally start investigating what is missing for NativeAOT-compatible.

Fixes dotnet/runtime#68278

/cc: @manodasanW @jkotas @MichalStrehovsky

@hez2010 hez2010 changed the title Fix the critical incompatible issue with NativeAOT Fix the tooling incompatible issue with NativeAOT Jun 26, 2023
@manodasanW
Copy link
Member

Thanks @hez2010, looks good to me. Will merge after the CI pipelines are done.

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.

Support for RVA static fields with a class constructor on field owning type

2 participants