当我在Rust 0.12.0中编译下面的代码时,我收到以下错误:
error: borrowed value does not live long enough
let _ = match re.captures(a_line.unwrap().as_slice()) {
如何延长a_line的生命周期以便将c1推送到vect1?
let vect = process_file(filename_ref);
...
fn process_file(filename: &str) -> Vec {
let re = regex!(r"^(\w+)\t(\w+)\t(\w+)\t(\w+)\n$");
let mut vect1 = Vec::new();
let filepath = Path::new(filename);
let _ = match File::open(&filepath) {
Ok(f) => {
let mut filebuffer = BufferedReader::new(f);
for a_line in filebuffer.lines() {
let _ = match re.captures(a_line.unwrap().as_slice()) {
Some(c) => {
let c1 = c.at(1);
vect1.push(c1);
...
},
...
};
} // end for
},
Err(e) => println!("Error: {}", e)
};
return vect1;
}