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

Metadata processing improvements #2598

Merged
merged 2 commits into from
Aug 10, 2023
Merged

Metadata processing improvements #2598

merged 2 commits into from
Aug 10, 2023

Conversation

kennykerr
Copy link
Collaborator

Updates include:

  • .winmd parser now more accurately captures generic type information for lossless roundtripping
  • .winmd writer now supports generics
  • .rdl generation and parsing now support generics
  • More of the Rust-specific metadata transformation has moved to riddle

To this day, the Windows Runtime depends on a small .il file buried in the OS repo that needs to be parsed with ILASM in order to bootstrap the type system since no other tool can generate a .winmd file with generic types. This is why WinRT APIs have never been able to define their own generic types. Well now, riddle is able to generate a .winmd with generic type parameters and thereby bootstrap WinRT with no intermediate tools or dependencies.

Naturally, Win32 and WinRT metadata are supported seamlessly by the same tool.

image

@kennykerr kennykerr merged commit f0c7eda into master Aug 10, 2023
47 checks passed
@kennykerr kennykerr deleted the riddle2 branch August 10, 2023 16:50
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