Ownership in closures — capture by value or reference.
Capture modes:
1let name = String::from("Alice");2let mut count = 0;34// Borrow (default)5let greet = || println!("Hello, {}!", name);6greet();7println!("{}", name); // Still valid89// Mutable borrow10let mut inc = || count += 1;11inc();1213// Move14let name = String::from("Bob");15let greet = move || println!("Hello, {}!", name);16greet();17// println!("{}", name); // Error: moved
Key: Closures capture by reference, use move for ownership.