1 // run-pass 2 select<'r>(x: &'r Option<isize>, y: &'r Option<isize>) -> &'r Option<isize>3fn select<'r>(x: &'r Option<isize>, y: &'r Option<isize>) -> &'r Option<isize> { 4 match (x, y) { 5 (&None, &None) => x, 6 (&Some(_), _) => x, 7 (&None, &Some(_)) => y 8 } 9 } 10 main()11pub fn main() { 12 let x = None; 13 let y = Some(3); 14 assert_eq!(select(&x, &y).unwrap(), 3); 15 } 16