//@ check-pass | |
struct LoadedObject { | |
bodies: Vec<Body>, | |
color: Color, | |
} | |
struct Body; | |
#[derive(Clone)] | |
struct Color; | |
struct Graphic { | |
color: Color, | |
} | |
fn convert(objects: Vec<LoadedObject>) -> (Vec<Body>, Vec<Graphic>) { | |
objects | |
.into_iter() | |
.flat_map(|LoadedObject { bodies, color, .. }| { | |
bodies.into_iter().map(move |body| { | |
( | |
body, | |
Graphic { | |
color: color.clone(), | |
}, | |
) | |
}) | |
}) | |
.unzip() | |
} | |
fn main() {} |