【发布时间】:2016-09-07 01:50:31
【问题描述】:
我有一个类似的算法:
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 的寿命更长。我该如何解决这个问题?
【问题讨论】: