Thanks to windows-rs implementing these unsafe markers for COM objects because they are declared agile (and wrapping the raw pointers in the first place, which are not marked Send/Sync by the Rust language) we can now let the compiler auto-implement the marker traits. This'll benefit safety (the traits require unsafe for a reason) in case we add fields to these structs that aren't Send/Sync in the future.
The same should be done for Vulkan at some point, by manually defining Send+Sync wrapper types around affected fields.
Also clear out MemoryType's Debug implementation which is already implemented by windows-rs.
Thanks to windows-rs implementing these unsafe markers for COM objects because they are declared
agile
(and wrapping the raw pointers in the first place, which are not markedSend
/Sync
by the Rust language) we can now let the compiler auto-implement the marker traits. This'll benefit safety (the traits requireunsafe
for a reason) in case we add fields to these structs that aren'tSend
/Sync
in the future.The same should be done for Vulkan at some point, by manually defining
Send
+Sync
wrapper types around affected fields.Also clear out
MemoryType
'sDebug
implementation which is already implemented by windows-rs.