30 lines
620 B
Rust
30 lines
620 B
Rust
fn main() {
|
|
let v = vec![3, 2, 7, 6, 8];
|
|
println!("{v:?}");
|
|
let c = || { println!("{v:?}"); }; // Fn
|
|
println!("{v:?}");
|
|
c();
|
|
c();
|
|
|
|
let mut v = vec![3, 2, 7, 6, 8];
|
|
println!("{v:?}");
|
|
let mut c = |x| { v.push(x); }; // FnMut
|
|
// println!("{v:?}");
|
|
c(1);
|
|
c(2);
|
|
println!("{v:?}");
|
|
|
|
let v = vec![3, 2, 7, 6, 8];
|
|
let c = || { drop(v); }; // FnOnce
|
|
// println!("{v:?}");
|
|
c();
|
|
// c(); // ERROR
|
|
|
|
let v = vec![3, 2, 7, 6, 8];
|
|
let c = move || { println!("{v:?}"); }; // v moved in c; c is still Fn
|
|
// println!("{v:?}");
|
|
c();
|
|
c();
|
|
}
|
|
|