Rust does have automatic memory management; unlike language implementations that have a GC, Rust's compiler can do all that work at compile-time, rather than at run-time. Of course, this requires that the usage be analysable statically, which is why Rust has stricter rules.