//! returns: 99 record Pair: Copy { x: u32, y: u32, } fn pick(flag: bool) -> ?Pair { if flag { return Pair { x: 10, y: 89 }; } return nil; } fn nest(outer: bool, inner: bool) -> ??Pair { if outer { let value = pick(inner); return value; } return nil; } @default fn main() -> u32 { if let outer = nest(true, true) { if let pair = outer; pair.x == 10 and pair.y == 89 { if let outerSomeNil = nest(true, false) { if let innerNil = outerSomeNil { return 11; } } else { return 12; } if let unreachable = nest(false, true) { return 13; } return 99; } } return 1; }