История изменений
Исправление MyTrooName, (текущая версия) :
mem::drop превращает твою лямбду в FnOnce, так что вызов f() её поглощает, и не надо объявлять ее mut
fn main() {
use std::mem;
let mut d = "FOO".to_owned();
let mut n = 0;
let f = || {
n += 1;
d.push_str("BAR");
mem::drop(d);
};
f();
f();
}
----
error[E0382]: use of moved value: `f`
--> src/main.rs:14:5
|
13 | f();
| - value moved here
14 | f();
| ^ value used here after move
Исходная версия MyTrooName, :
mem::drop превращает твою лямбду в FnOnce, так что вызов f() её поглощает, и не надо объявлять ее mut