0
私のようなアルゴリズムを持っている:有効期限
let seed: Foo = ...
let mut stack: Vec<&Foo> = Vec::new();
stack.push(&seed);
while let Some(next) = stack.pop {
let more_foos: Vec<Foo> = some_function_of(next) // 0 to many Foos returned
for foo in more_foos {
stack.push(&foo);
}
}
を私はfoo
が十分に長く住んでいないというエラーが表示されます。これは、stack
の寿命が長いためと思われます。これをどうすれば解決できますか?