> Isn't Rust one of those languages based on the idea that tools matter and that should either be correct or obviously wrong?
It doesn't really matter, if you combine `/home/myuser` and some unsantized input variable, and then call `remove_dir_all` [0], it doesn't matter how safe the language is, you're going to delete your entire home directory with absolutely no warning, whether it's in bash, go, python, rust or haskell. Yes bash makes this very easy to do, but so does pretty much every language in existence.
> (And no, those problems do usually not appear due to logic errors or typos in other languages. It's very, very rare.)
They absolutely do. Here's an explosive script in golang (deliberately doesn't compile just in case) - running this in func main() will ruin your day most likely.
dirToRemove := "~/" + os.Getenv("BAD_ENV_VAR")
os.RemoveAll(dirToRemove
I can write one of these in bash, python, go, you name it.
[0] https://doc.rust-lang.org/std/fs/fn.remove_dir_all.html