Rust — Memory Ownership Management
 that manages memory automatically. But even GC isn't free from the bugs above, and every time the GC cleans up memory, you get stop-the-world pauses.
Rust solves this by making all variables immutable by default. It performs move operations instead of copy operations. Variables are only used within their scope, and when they go out of scope, memory is automatically deallocated.
Furthermore, if a variable is accessed from another function or passed as an argument, it loses ownership and can no longer be used in its original scope.
This prevents the classic disaster of multiple stack memory addresses pointing to a single heap allocation.