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