Rust ownership model enforces memory safety without a garbage collector. Each value has a single owner and is dropped when the owner goes out of scope. Borrowing allows references to a value without transferring ownership. The borrow checker ensures no reference outlives the value it points to. Mutable references are exclusive; at most one mutable reference to a value can exist at a time. Lifetimes annotate how long references remain valid to help the compiler verify borrowing rules.
