Every programming language has some downsides attached to it, it’s not all roses when it comes to Rust as well. Some of the noticeable downsides of Rust programming language are highlighted here −
Yes, compile time. Rust is fast, no doubt. But when it comes to compiling code, then it’s a bit slower as compared to its peer languages. The reason for its slow compile time is that its “unit of compilation” is not an individual file, it’s instead a whole package (known as a crate). Crates in Rust can include multiple modules, thus they can be large units of compilation. Though the whole-of-crate optimization is done, but It does require whole-of-crate compilation as well, which is time consuming.
It also has a complex compiler toolchain that in turn includesmultiple intermediate representations and sending lots of code to LLVM.
Single implementation might not seem such an issue, but consider a scenario where Mozilla changes its priorities or Rust becomes insolvent to them, then having only a single implementation exposes a degree of risk.
Rust’s learning curve is high and in order to understand most of the main part of it, one should be familiar with C++ or any object-oriented language. Also, the speed at which the development of code can be done is not as good as some of its peer languages.
Being strict is generally considered a good thing when it comes to programming, but Rust is a bit too strict sometimes.It’s very hard to be lazy when you are programming with it. Your program won’t start until everything is just right.