  Rust is a multi-paradigm programming language developed by Mozilla that
focuses on performance and safety. Rust code is arguably known best for its
speed and memory safety, a property essential while developing embedded
systems. Thus, it becomes one of the alternatives when developing operating
systems for embedded devices. How to convert an existing C++ code base to Rust
is also gaining greater attention. In this work, we focus on the process of
transpiling C++ code to a Rust codebase in a robust and safe manner. The manual
transpilation process is carried out to understand the different constructs of
the Rust language and how they correspond to C++ constructs. Based on the
learning from the manual transpilation, a transpilation table is created to aid
in future transpilation efforts and to develop an automated transpiler. We also
studied the existing automated transpilers and identified the problems and
inefficiencies they involved. The results of the transpilation process were
closely monitored and evaluated, showing improved memory safety without
compromising performance and reliability of the resulting codebase. The study
concludes with a comprehensive analysis of the findings, an evaluation of the
implications for future research, and recommendations for the same in this
area.
