Rustでは、面白いことが起こったときにワーカースレッドによって呼び出されるコールバック(クロージャなど)を指定します。コールバックの正しい型シグネチャは何でしょうか?クロージャーをスレッドに移動するときに "変更不能なコンテンツを変更可能なものとして借りることはできません"
これは私がやろうとしています何の例です:
use std::thread;
fn spawner(f: Box<FnMut()->()+Send>) -> thread::JoinHandle<()> {
thread::spawn(move || {
f();
})
}
fn main() {
let cb = || {
println!("callback");
};
spawner(Box::new(cb)).join().unwrap();
}
src/main.rs:5:9: 5:10 error: cannot borrow immutable `Box` content `*f` as mutable src/main.rs:5 f();