-
Notifications
You must be signed in to change notification settings - Fork 17
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 to Microsoft's com-rs #35
Conversation
We won't be merging this as Will leave this open until that's all done and we can start the migration process again, will likely use this PR as a base for it. |
The `com-rs` crate is deprecated, but Microsoft published their vetted and maintained replacement as `com`. This crate has much better helpers and doesn't pull in the `libuuid` library that isn't available on Android nor Mac. Unfortunately there is still no verdict how this crate relates to the windows-rs iniative, where the entire FFI API is autogenerated from metadata, nor has it been possible to bring in Linux support thus far. As such we'll stick with Microsoft's `com` for now which is already a step in the right direction. Note that we'll have to figure out a cleaner solution to get a stack-allocated, temporary class allocation for the include handler: one that is only allowed to live as long as the surrounding function, instead of endlessly on the heap.
I'm fine merging this now. Even though |
Fixes #23, fixes #28, closes #36
The
com-rs
crate is deprecated, but Microsoft published their vetted and maintained replacement ascom
. This crate has much better helpers and doesn't pull in thelibuuid
library that isn't available on Android nor Mac.Unfortunately there is still no verdict how this crate relates to the windows-rs iniative, where the entire FFI API is autogenerated from metadata, nor has it been possible to bring in Linux support thus far. As such we'll stick with Microsoft's
com
for now which is already a step in the right direction.Note that we'll have to figure out a cleaner solution to get a stack-allocated, temporary class allocation for the include handler: one that is only allowed to live as long as the surrounding function, instead of endlessly on the heap.