我正在尝试从函数内部构建的向量中返回一个切片。显然,这是行不通的,因为v的生命周期过早过期。我想知道是否有延长v寿命的方法。我想返回一个普通切片,而不是向量。
pub fn find<'a>(&'a self, name: &str) -> &'a[&'a Element] {
let v: Vec<&'a Element> = self.iter_elements().filter(|&elem| elem.name.borrow().local_name == name).collect();
v.as_slice()
}
Run Code Online (Sandbox Code Playgroud)