Hello!
match (st /* is &mut of an enum value */, entry) {
// Other branches
(st @ DefiningDigOrder { area: Some(_) }, ConfirmOrder) => {
if let DefiningDigOrder { area } = std::mem::replace(st, Done) {
se.add_side_effect(SideEffect::MiningOrderCreated(MiningOrder {
area: area.unwrap(),
}));
} else {
panic!("Invalid state");
}
}
// Other branches
}
This compiles, but knowing Rust, there's gotta be a better way, right?