Rust ownership, borrowing, and lifetimes: preventing data races at compile time
Rust guarantees memory safety by enforcing single ownership and borrowing rules; lifetimes tie references to data, eliminating use-after-free and data races without a garbage collector.