Kenny Kerr, a Microsoft engineer and author of C++/WinRT, writes about C++, Rust, and Windows API language bindings.
HN commenters cite it for how Microsoft's Rust for Windows crates work, including why windows-sys is large and how Win32 and WinRT are unified.
> I guess shipping Windows API cargo crates makes too much sense. Does anyone have any context for gaps in Rust they are addressing?
I haven't finished digging through the OP, but it looks like a bunch of Microsoft employees (already aware of Rust's safety benefits) have started recognizing the commitment to FFI as well. My last project had a feature that depended on a bind to win32, which turned out to be the most time consuming aspect - as it demanded a bunch of tooling that was otherwise unnecessary (valgrind, etc). If they were to take stewardship of that interface, lots of unsafe{} would disappear overnight.
https://kennykerr.ca/2019/11/05/rust/
The reason why the windows-sys (and below the windows-targets) crate are so beefy is that they are basically a bunch of binary blobs that are needed to link stuff together due to how import libs work on Windows. https://kennykerr.ca/rust-getting-started/understanding-windows-targets.html
In theory that would not be necessary any more on more modern rustc versions, but if you want to target rustc < 1.70 you still need that.
Which makes me feel I've spent the energy reading about the potential vaporware. Ugh.
The author writes:
http://kennykerr.ca/2014/08/29/a-modern-update/
"I have started using it myself and am really enjoying the experience but it has a few rough edges that I need to work on before I can make it more widely available"
So he has the site about it, writes the articles about it... and it works only for him.
Kenny Kerr's blog post on this may also be of interest. In particular, it answers the question I was going to ask about how they're handling Win32 and WinRT in a unified way.
https://kennykerr.ca/2021/01/21/rust-for-windows/
Wishes sometime turn into reality.
https://kennykerr.ca/2019/11/05/rust/
https://twitter.com/benwilliamson/status/1240113606374686721
Looks like Windows will soon be launching a way for Rust to call into their COM UI API platform.
https://kennykerr.ca/2019/11/05/rust/