ownership
flip ->Each value has a single owner. When the owner leaves scope, the value is dropped. No garbage collector. No reference counting overhead. Memory is freed by the compiler on a deterministic schedule that you can read in the source.
let s = String::from("hi");
let t = s; // s is moved