A draw back is that Rust programmers spend a good period of time, at the least once they’re first studying the language, determining find out how to appease the compiler. Program behaviors that may have handed unnoticed in different languages (and probably brought on reminiscence errors at runtime) trigger the Rust compiler to cease chilly.
The different huge draw back is which you can’t decide out of this habits. You may’t toggle off Rust’s borrow-checking habits the way in which you possibly can, say, disable a code linter for one more language. It makes for higher software program in the long term. However the fast value is a language that’s each slower to study and slower to iterate in.
Rust does can help you fence off elements of your code with the unsafe
key phrase, and carry some restrictions, like the power to dereference a uncooked pointer. However unsafe
doesn’t flip off borrow checking totally, or something like that. It’s for taking code with sure behaviors you don’t need casually used (once more, like dereferencing a uncooked pointer) and “gating” it for security.