The LHCb Software Framework Gaudi 1 has been developed in C++ since 1998 2. Over the years, it evolved following the changes in the C++ established best practices and the evolution of the C++ standard, even reaching the point of enabling the development of multithreaded applications. In recent years, there have been several announcements and debates on the socalled successor languages of C++ and safe alternatives to C++, with Rust 3 leading the way as an example of a safe and performing language that can replace C and C++ in a number of cases. This paper explores some ways Rust can be used to extend the Software Framework Gaudi, focusing on how one can leverage on the Rust-C++ interoperability efforts driven by the community. We show how to invoke Rust code from C++ and vice versa, and how Gaudi components could be written completely in Rust. We can use the experience gained in the exercise to evaluate possible integration with other languages or technologies.
Marco Clemencic (Tue,) studied this question.