Guest User

Untitled

a guest
Jul 20th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.38 KB | None | 0 0
  1. struct Diamond {}
  2.  
  3. enum State {
  4. Early(Diamond),
  5. Late(Diamond),
  6. Transitioning,
  7. }
  8.  
  9. fn advance(state: &mut State) {
  10. match std::mem::replace(state, State::Transitioning) {
  11. State::Early(diamond) => {
  12. *state = State::Late(diamond);
  13. }
  14. _ => unreachable!(),
  15. }
  16. }
  17.  
  18. fn main() {
  19. let mut state = State::Early(Diamond {});
  20. advance(&mut state);
  21. }
Add Comment
Please, Sign In to add comment