// run-pass #![allow(dead_code)] use std::sync::Mutex; struct Point {x: isize, y: isize, z: isize} fn f(p: &mut Point) { p.z = 13; } pub fn main() { let x = Some(Mutex::new(true)); match x { Some(ref z) if *z.lock().unwrap() => { assert!(*z.lock().unwrap()); }, _ => panic!() } }