Rust was designed & developed by popular software developer Graydon Hoare as a personal project while working at Mozilla Research in 2006. Rust emphasizes performance, type safety, and concurrency. Unlike many existing systems programming languages, Rust doesn't require that you spend all of your time mired in nitty-gritty details. Let's discuss some drawbacks of Rust.
If we talk about 1st dark side of Rust language that is a complex concurrency model. It is multithreaded programming model offers more smoothness than many programmers need. You can enjoy the language and ignore the extra features, but some programmers would rather not deal with the complexity at all. They just don't need it. So it's a drawback of the rust language that you should keep in mind.
The slow compilation is another drawback of Rust's programming language. As you reached around +200 dependencies you will notice that compilation becomes super slow & does not work well. In this language, almost everything is statically linked, which makes compilation slow and causes lots of outdated libraries in your FS.
Rust does not follow object-oriented programming concepts like other languages, which is considered a drawback by some programmers. You can copy some aspects of object-oriented programming in Rust. True followers know all the best ways to imitate OOP with Rust constructs, but anyone who wants to create elaborate type hierarchies will be confused by Rust.
Rust has some undefined issues with String. Having six types of strings String, Str, CString, Cstr, OsString, and Ostr. This string structure makes it complicated & confusing. Some functions return Str and you need to convert it to String. String and Str have different functions. So this is the other downside of rust that you need to know before using it.
Nothing Rust does can save us from having to think carefully about our code. Rust is not able to protect the code from deadlocks or delays. It can provide a piece of better advice & a less buggy structure. Developers are always responsible for quality application design and writing clean code. It would be great if Rust solved problems from the root per it minimizes the problems.
Nowadays there are only a few companies that are using Rust programming language. So a few programmer's jobs or few requirements are in the market. In the future, it will increase gradually but now it can not be a good option from a career point of view.
If we talk about our final downside of Rust language that is immature Libraries. There are various libraries that are incomplete & immature. Often time you will notice poor & incomplete documentation. This makes using a library always an “adventure,” so you need to look at the source code. It’s often not copy-paste-n-work.