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

Release request: windows-bindgen (etc?) for compatibility with 0.51 release #2607

Closed
MarijnS95 opened this issue Aug 15, 2023 · 2 comments · Fixed by #2609
Closed

Release request: windows-bindgen (etc?) for compatibility with 0.51 release #2607

MarijnS95 opened this issue Aug 15, 2023 · 2 comments · Fixed by #2609
Labels
question Further information is requested

Comments

@MarijnS95
Copy link
Contributor

MarijnS95 commented Aug 15, 2023

Code generated by the current windows-bindgen/windows-metadata 0.49 crates is not compatible with the latest windows(-core) 0.51 release.

@kennykerr are you sure windows-bindgen/windows-metadata don't need an update? They generate calls to ::windows::imp::interface_hierarchy!(), but these have moved into the core.

::windows::core::imp::interface_hierarchy!() would also be inconvenient because the macro internally references ::windows_core and requires the windows-core crate to be in the dependencies list too.

Originally posted by @MarijnS95 in #2605 (comment)


Apparently compatible releases need to be explicitly requested, so here goes.

@MarijnS95
Copy link
Contributor Author

Thanks so much @kennykerr, it's all working now!

Only riddle isn't published yet, but I'm using that as a nice excuse to just have a one-liner api_gen crate linking to windows-bindgen. After all, as mentioned in Traverse-Research/amd-ext-d3d-rs#3:

Still on the fence whether to go the cargo install riddle; riddle --etc bindings.txt route, or whether to keep the cargo r -p api_gen crate now that windows-rs decided to keep a windows-bindgen library crate that we can instead give these arguments to 1.

Footnotes

  1. Meaning that the riddle utility does not need to be separately installed, because running the api_gen crate through cargo automatically downloads and compiles dependencies.

@kennykerr
Copy link
Collaborator

You're welcome! I'm not in a hurry to publish riddle as I still have a lot of work to do on that front.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants