In bug 1478813 (now on inbound), I've added a new toolchain job and code to install cbindgen[1] via `mach bootstrap`, and it will become a hard build dependency in the near future.

We use it on the style system to generate C++ structs / enums from the Rust definitions (as opposed to bindgen[2], which we use for the opposite thing).

The reasons we want to do something like that are various, but basically it will allow us to slowly get rid of a lot of unsafe (and not optimal) Rust -> C++ conversion code[3], and maybe even autogenerate the style structs to optimally pack them and save some memory without any manually-written scary code.

Please remember to run mach bootstrap if you run into build issues related to this in the coming days.


 -- Emilio

[1]: https://github.com/eqrion/cbindgen
[2]: https://github.com/servo/rust-bindgen
[3]: https://searchfox.org/mozilla-central/source/servo/components/style/properties/gecko.mako.rs
dev-platform mailing list

Reply via email to