The Fish shell is one of the lesser-known Linux shells that offers a smart, user-friendly command line shell for UNIX-like operating systems.
Interestingly, a few weeks ago, the current maintainer of the Fish shell project 'ridiculousfish' initiated a pull request that mentioned:
He mentioned that this transition is a port, rather than a complete rewrite, and will feature translated C++ modules in Rust form.
To prove that this can work, he ported a few modules to Rust and made them available in a crate that lives under and links to the C++ code.
The C++ base that fish shell is built upon has been causing plenty of problems. Any required changes take unnecessarily long to implement.
While they initially moved to C++11 in 2016 and are still on it, now it is a pain to upgrade anything coded with such an old language; it even outweighs the possibility of upgrading to C++14/17.
Then there are the general concerns with C++; such as issues with header files, memory safety, undefined behavior, compiler errors, and more.