• Nutomic@lemmy.mlM
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    Its for this pattern which useful, but not intuitive:

    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.