É um tópico um pouco grande, então vou resumir aqui:
Rust possui Borrow Checker, que é uma forma de memory-safety sem usar gargabe collector, porque todo o gerenciamento de memória é feito automaticamente pelo compilador!
Se quiser entender mais sobre o assunto, recomendo o Rust Book:
https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html