Placing emphasis on correctness sounds like a plus. How does Rust do this? Does it only apply to memory management? For added performance I could live without gc, but I still prefer it.
Remember: static beats dynamic, every time. Time spent checking assertions at compile time pays for itself many times over in time spent debugging these same issues at run time. Just as static typing is a huge win over dynamic typing, static lifetime analysis (Rust memory semantics) is a huge win over dynamic lifetime analysis (GC).
https://doc.rust-lang.org/book/ch04-00-understanding-ownersh...
This link explains it pretty clearly with example code (which is easy enough to understand even if you've never seen rust code before).