Rust 返回从闭包内部借用的值

Rust 返回从闭包内部借用的值,rust,borrow-checker,Rust,Borrow Checker,我想从文件中获取Vec: use std::fs::File; fn example(files: Vec<&File>) { let files_metadata: Vec<_> = files .iter() .map(|f| &f.metadata().unwrap()) .collect(); } 创建一个临时值并将其放置在地图中;是的,没错。。。所以不要那样做映射(| f | f.met

我想从
文件中获取
Vec

use std::fs::File;

fn example(files: Vec<&File>) {
    let files_metadata: Vec<_> = files
        .iter()
        .map(|f| &f.metadata().unwrap())
        .collect();
}

创建一个临时值并将其放置在地图中;是的,没错。。。所以不要那样做<代码>映射(| f | f.metadata().unwrap())
。如果确实需要
Vec[&Metadata]
,则需要基于中间
Vec
构建它。否则,您将引用无效内存。@Shepmaster谢谢,这使我能够修复它