fn try_unzip()

in gazebo/src/ext/iter.rs [336:352]


    fn try_unzip<A, B, FromA, FromB, E>(self) -> Result<(FromA, FromB), E>
    where
        FromA: Default + Extend<A>,
        FromB: Default + Extend<B>,
        Self: Iterator<Item = Result<(A, B), E>>,
    {
        let mut ts: FromA = Default::default();
        let mut us: FromB = Default::default();

        for e in self {
            let (t, u) = e?;
            ts.extend(Some(t));
            us.extend(Some(u));
        }

        Ok((ts, us))
    }