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

Migrate C# ModuleDef to V9 #1670

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

Migrate C# ModuleDef to V9 #1670

wants to merge 2 commits into from

Conversation

RReverser
Copy link
Member

Description of Changes

This migrates module definition to V9 for C# modules.

Note that it's based off #1573 which is why the target branch is currently not master. It will be changed and the Git history will be cleaned up when the base PR is merged.

For now the C# modules compile with new codegen & definitions, but I have no way to test it until we migrate spacetime generate to V9 so that we could run SDK tests against it. That's why I'm marking this PR as draft until that's resolved.

API and ABI breaking changes

If this is an API or ABI breaking change, please apply the
corresponding GitHub label.

Expected complexity level and risk

How complicated do you think these changes are? Grade on a scale from 1 to 5,
where 1 is a trivial change, and 5 is a deep-reaching and complex change.

This complexity rating applies not only to the complexity apparent in the diff,
but also to its interactions with existing and future code.

If you answered more than a 2, explain what is complex about the PR,
and what other components it interacts with in potentially concerning ways.

Testing

Describe any testing you've done, and any testing you'd like your reviewers to do,
so that you're confident that all the changes work as expected!

  • Write a test you've completed here.
  • Write a test you want a reviewer to do here, so they can check it off when they're satisfied.

@RReverser RReverser changed the title Derive entire ModuleDef tree Migrate ModuleDef to V9 Sep 4, 2024
@RReverser RReverser changed the title Migrate ModuleDef to V9 Migrate C# ModuleDef to V9 Sep 4, 2024
Base automatically changed from ingvar/csharp-table-inherit-type to master September 5, 2024 18:19
@RReverser RReverser changed the base branch from master to ingvar/derive-meta-types September 5, 2024 19:37
@RReverser RReverser force-pushed the ingvar/derive-meta-types branch 4 times, most recently from 0b6c0f0 to 0fddd55 Compare September 6, 2024 16:50
Base automatically changed from ingvar/derive-meta-types to master September 9, 2024 20:14
@RReverser RReverser mentioned this pull request Sep 18, 2024
@RReverser
Copy link
Member Author

Updated this PR to latest definitions. Thanks to #1661 + @coolreader18's #1675, I can verify that I'm now producing correct ModuleDef as it can generate Rust sources from a C# module. Further testing is still blocked by lack of V9 support in the actual runtime - I'm hitting

_ => {
return Err(InitializationError::Describe(
DescribeError::UnimplementedRawModuleDefVersion,
))
}
so leaving this PR as a draft.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants