关于生命周期的一个具体问题
起因
需要便利目录中的文件,并将其文件名称及文件大小缓存在Hashmap中
部分代码
代码中使用了三方包为:
walkdir = {version = “2.3.2”}
let mut file_len_map = HashMap::new();
for walk_step in WalkDir::new(&args.watch_path)
.into_iter()
.filter_map(|e| e.ok())
{
// 此处walk_step.path();出现了生命周期异常
let file_path = walk_step.path();
let file_len = OpenOptions::new()
.read(true)
.open(file_path.clone())
.unwrap()
.metadata()
.unwrap()
.len();
file_len_map.insert(file_path.clone(), file_len);
}
println!("{:?}", file_len_map);
这样: