• @nutomic@lemmy.mlM
    link
    fedilink
    22 years ago

    I think she is talking about this functionality which already exists. It is not very intuitive though.

    let res = my_collection
    .iter()
    .map(|x| method_that_returns_result(x))
    .collect::<Result<Vec<T>, Error>>()?;
    

    So it turns a Vec<Result, Error> into Result<Vec<T>, Error>, and you can turn it into Vec<T> simply with ?. Otherwise you would probably need a for loop.