Невозможно вызвать функцию в порожденном потоке, потому что она «не выполняет требуемое время жизни»
Я могу запустить этот код
fn testf(host: &str) {}
fn start(host: &str) {
testf(host);
testf(host);
}
но по какой-то причине я не могу запустить это:
fn testf(host: &str) {}
fn start(host: &str) {
thread::spawn(move || testf(host));
thread::spawn(move || testf(host));
}
из-за следующей ошибки
src/server.rs:30:5: 30:18 error: the type `[closure@src/server.rs:30:19: 30:38 host:&str]` does not fulfill the required lifetime
src/server.rs:30 thread::spawn(move || testf(host));
^~~~~~~~~~~~~
note: type must outlive the static lifetime
error: aborting due to previous error
Может кто-нибудь объяснить мне, что с ним не так и как это исправить?