C bitfields in Rust are hard
How does Golang deal with this? It doesn't.
And to be fair, Rust doesn't either.
But then why does bindgen attempt to have bitfields at all. Yes,
I see the
unsafe but wouldn't it be "safer" to recommend exporting C helper
functions to deal with this? I actually don't understand how any crate
can say they have "C-compatible" bitfields.
My mental model right now is: if the compilers are LLVM-based, then ABI should match up. This is most likely wrong.