main() { let x: u64; let y: u64; let x_ref: &u64; let y_ref: &u64; x = 5; y = 2; x_ref = &x; y_ref = &y; release(move(y_ref)); release(move(x_ref)); x_ref = &x; y_ref = move(x_ref); if (true) { release(move(y_ref)); x_ref = &y; y_ref = &x; } else { release(move(y_ref)); x_ref = &x; y_ref = &y; } assert(*move(x_ref) == 2, 42); release(move(y_ref)); return; }