Rust / GI BoF
Planning BoF for what we can do in the context of GObject and GIR to make Rust a first class language for writing GNOME software and libraries
Time
August 11, afternoon.
Room
TBD
Expected Participants
Agenda
TBD
One thing I'd like to discuss is how we can incrementally migrate applications to Rust. For example, if I could start writing new code for Builder in Rust and continue to link those objects into the shared-library/program, that would be ideal. Even if we only get final/concrete classes implemented, that will allow me to make progress. -- ChristianHergert
I guess you are aware of it already, but we have some early bindings for rust in https://github.com/rust-gnome . Since I'm contributing a little there, I can talk with them (since I don't see any from them coming to guadec) and coordinate/discuss something for the BOF. Or have someone already contact with them? -- CarlosSoriano
It would be nice to coordinate efforts, as the duplication on crates.io is unfortunate, especially around -sys linkage crates. As far as I can tell, your project is manually maintained bindings, whereas GI-Rust is meant to eventually generate as much as possible from GIR. The latter, of course, means more time is needed up front to write the binding generator. However, a code generator for -sys (low-level import) crates does not seem like a hard thing to do and it will benefit both projects, because the C API bindings are straightforward and do not leave much room for variation. There is a GitHub tracking issue for that, and I plan to try implementing it before the BoF. Once that is done, you can switch to generated -sys crates. This does not necessarily mean you should discontinue the high level bindings, as there may be different choices and preferences for the high-level Rust API. -- MikhailZabaluev