Named-Fields
A struct with components, which can be identified by their name
Tricks
Supply vaules for new struct: .. EXPR
fn chop(b: Broom) -> (Broom, Broom) {
let mut broom1 = Broom { height: b.height / 2, .. b };
let mut broom2 = Broom { name: broom1.name.clone(), .. broom1 };
broom1.name.push_str(" I");
broom2.name.push_str(" II");
(broom1, broom2)
}
Example
// pub is optional
pub struct GrayscaleMap {
pub pixels: Vec<u8>,
pub size: (usize, usize)
}