Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Diamond {}
- enum State {
- Early(Diamond),
- Late(Diamond),
- Transitioning,
- }
- fn advance(state: &mut State) {
- match std::mem::replace(state, State::Transitioning) {
- State::Early(diamond) => {
- *state = State::Late(diamond);
- }
- _ => unreachable!(),
- }
- }
- fn main() {
- let mut state = State::Early(Diamond {});
- advance(&mut state);
- }
Add Comment
Please, Sign In to add comment