fn main() { enum TrayState { Available(u32), Empty } let states = [TrayState::Available(8), TrayState::Empty]; let total: u32 = states.iter().map(|state| match state { TrayState::Available(n) => *n, TrayState::Empty => 0 }).sum(); assert_eq!(total, 8); println!("Available packets across states: {total}"); }