Rust only does this because it targets low-level use cases without automatic memory management, and makes a conscious tradeoff against ease of programming.