MS
Size: a a a
A
MS
{
let quux = 9;
let lambda = || {
println!("quux: {}", quux);
};
lambda();
}
MS
A
A
L
A
MS
move
к определению лямбды, она не станет сохранять ссылки а сразу переместит в себя значения.A
MS
A
A
MS
MS
MS
{
let quux = 9;
let lambda = || {
println!("quux: {}", quux);
};
lambda();
}
struct MyLambda<'a> {
quux_ref: &'a i32;
}
impl<'a> Fn for MyLambda<'a> {
fn call(&self) {
println!("quux: {}", self.quux_ref);
}
}
{
let quux = 9;
let lambda = MyLambda { quux_ref: &quux };
lambda.call();
}