// run-pass use std::mem::swap; pub fn main() { let mut x = 4; for i in 0_usize..3 { // ensure that the borrow in this alt // does not interfere with the swap // below. note that it would it you // naively borrowed &x for the lifetime // of the variable x, as we once did match i { i => { let y = &x; assert!(i < *y); } } let mut y = 4; swap(&mut y, &mut x); } }