``` fn main() { match &mut Some(1) { ref mut z @ &Some(ref a) => { **z = None; println!("{}", *a); } _ => () } } ``` This code compiles even though it should be rejected since writing to z invalidates the a variable.