之一,我有兩個瓶蓋來捕獲同一Vec
,我不知道如何在慣用鏽這樣寫:捕獲相同的變量在多個瓶蓋
use std::error;
fn get_token -> Box<Vec<u8>>() {...}
fn do_stuff(file: &str) -> std::io::Result<i32> {...}
fn do_other_stuff(a: &str, a: &str) -> std::io::Result<i32> {...}
enum MyError {
IoError { token: Vec<u8>, reason: String),
}
fn consumer() -> Result<MyError,()> {
let token = get_token();
try!(do_stuff("a")
.map_err(|e| MyError::IoError { token: token, reason: "foo".to_str() }));
try!(do_other_stuff("b", "c")
.map_err(|e| MyError::IoError { token: token, reason: "bar".to_str() }));
}
我可以match
更換map_err
電話表達式,但我真的很難過這個:我如何將Vec
傳遞給多個閉包?
請問我爲什麼輸出'get_token','Box>'而不是'Vec ' –